L1. Introduction to Bit Manipulation | 1's 2's Compliment | Bit Operators

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 268

  • @hetpatel7399
    @hetpatel7399 9 หลายเดือนก่อน +375

    Respect button for striver bhaiya-->

    • @parvahuja7618
      @parvahuja7618 8 หลายเดือนก่อน +3

      just striver, dont add bhaiya

    • @KarthikKumaresan-k1o
      @KarthikKumaresan-k1o 7 หลายเดือนก่อน +4

      need likes huh?

    • @saarza9991
      @saarza9991 4 หลายเดือนก่อน

      Same guy goes behind shraddha "didi" like a dog😂

    • @saarza9991
      @saarza9991 4 หลายเดือนก่อน +1

      He's striver not bhaiya

    • @souravsharma5465
      @souravsharma5465 3 หลายเดือนก่อน +1

      bhai arrow ke side mai report button aa rha hai ky kru ?? daba du

  • @sumitkumartah2106
    @sumitkumartah2106 9 หลายเดือนก่อน +66

    Respect for this man 💗.......The man who changed the myth DSA is hard

  • @akashspace837
    @akashspace837 9 หลายเดือนก่อน +39

    Most Awaited Playlist... Bit Manipulation!

  • @Noob_Coder1234
    @Noob_Coder1234 9 หลายเดือนก่อน +97

    Remember if striver is making than this will be the best bit manipulation playlist on youtube

    • @chad._life
      @chad._life 4 หลายเดือนก่อน +2

      larn inglis

    • @Noob_Coder1234
      @Noob_Coder1234 4 หลายเดือนก่อน +3

      @@chad._life chal beta aage nikal 😂

  • @allinonemoviesyt
    @allinonemoviesyt 9 หลายเดือนก่อน +170

    6:09 there is a problem in the written code
    while loop condition will be (n != 0) instead of (n != 1)
    if we are using while(n != 1) , then we have to explicitly push back 1 to end of the string after the while loop ends

    • @gaurangsaini01
      @gaurangsaini01 9 หลายเดือนก่อน +9

      I was about to comment the same , good observation :)

    • @anshuraj5734
      @anshuraj5734 9 หลายเดือนก่อน +4

      I too observed the same.

    • @maheshwarang4000
      @maheshwarang4000 8 หลายเดือนก่อน +2

      Yeah

    • @parvahuja7618
      @parvahuja7618 8 หลายเดือนก่อน +2

      also we can just the concept of indexes and math.pow() function

    • @VineetKumar-fk2rl
      @VineetKumar-fk2rl 7 หลายเดือนก่อน +1

      Yep I also noticed when I coded

  • @Dadgdyb
    @Dadgdyb 9 หลายเดือนก่อน +14

    Thank you very much striver ,
    You are teaching us and working at the same time and too providing us with the best video that to free ,
    I'm Grateful.

  • @varun1017
    @varun1017 9 หลายเดือนก่อน +64

    Next, we want strings

    • @jagjuotajmanii5
      @jagjuotajmanii5 9 หลายเดือนก่อน +7

      @take U forward
      Yes we want string

  • @akashpurbia4390
    @akashpurbia4390 9 หลายเดือนก่อน +8

    I was thinking of learning bit manipulation and here you are 🔥

  • @mukeshrawat8816
    @mukeshrawat8816 9 หลายเดือนก่อน +4

    just completed lt1 now moving on to the 2nd one.
    a big thanks to you bhaiya.

  • @LinhHoang-ml1qo
    @LinhHoang-ml1qo 9 หลายเดือนก่อน +4

    Thank you so much striver, you have changed my mind about coding

  • @trailblazer555
    @trailblazer555 9 หลายเดือนก่อน +3

    Thanks a lot striver for your great effort!!! In this video 13 played a hero role...

  • @koustaveditz9995
    @koustaveditz9995 9 หลายเดือนก่อน +71

    i was the guy who requested striver bhaiya to make playlist on bit manipulation. cheers guys☺

    • @codeman0017
      @codeman0017 9 หลายเดือนก่อน +4

      no it was me

    • @abhinav6726
      @abhinav6726 9 หลายเดือนก่อน +13

      nahi me tha mene call kiya tha striver bhai ko playlist ke liye to unhone thik hai upload krta hu bolke upload krdi bit manipulation

    • @koustaveditz9995
      @koustaveditz9995 9 หลายเดือนก่อน

      @@abhinav6726 hn lekin twitter par maine bola tha

    • @soumi6720
      @soumi6720 3 หลายเดือนก่อน +2

      ask him to make on strings

    • @koustaveditz9995
      @koustaveditz9995 3 หลายเดือนก่อน

      @@soumi6720 bol dunga, but wants to know more about hu

  • @ShivaMahajan07
    @ShivaMahajan07 9 หลายเดือนก่อน +6

    Legend is back🔥

  • @yoddha621
    @yoddha621 2 หลายเดือนก่อน

    Already have known these in the past, but after watching this video I was amazed as I had forgotten many things already. It was like having the knowledge for the first time lol.

  • @megSitati
    @megSitati 3 หลายเดือนก่อน +1

    Truly appreciate this content. I finally get to understand bit manipulation

  • @YuvrajSingh-qz9ss
    @YuvrajSingh-qz9ss 9 หลายเดือนก่อน +13

    This playlist helps us to learn bit manipulation

  • @divyanshbhatt8273
    @divyanshbhatt8273 9 หลายเดือนก่อน +2

    most awaited series Mann! you are great

  • @itspriyanka662
    @itspriyanka662 16 วันที่ผ่านมา

    No one can teach DSA like you sir❤❤.

  • @bhausaheb213
    @bhausaheb213 9 หลายเดือนก่อน +2

    Thank you Striver for this Amazing Playlist....😊

  • @adrianfernandes2004
    @adrianfernandes2004 19 วันที่ผ่านมา

    Helpful tip for calculating 2's complement go from LSB(least significant bit) to MSB(most significant bit) basically from right to left do so till u get the first " 1 " and then just flip the remaining digits for 2's complement:)
    say 13 - 0000......1101 2's comp - 11111....0011

  • @TON-108
    @TON-108 9 หลายเดือนก่อน +2

    Finally Bit Manipulation 🎉
    Thank You Bhaiya ❤

  • @ashurajput6916
    @ashurajput6916 4 หลายเดือนก่อน +10

    At last negation operation part 34:30 onwards
    So, i think bhaiya got a little confused by that, lemme break it down correctly. so on using the negation operation "~" this simply flips all bits and store the result. nothing much.. just simple flip all bits.
    Let's work out with case of positive number
    consider
    n = 5 = 00000000000000000000000000000101
    now,
    ~n = 11111111111111111111111111111010
    this is what is stored inside computer, now upon reading this number when we require it somewhere to be printed or anything. the computer looks at the 31st bit and sees it is set, thus the number is negative, thus a negative sign will be put and now to fetch its value, computer perform 2's complement. So,
    00000000000000000000000000000101

    • @hustlinglie5530
      @hustlinglie5530 4 หลายเดือนก่อน +1

      Thanks a lot for this detailed explanation man

    • @chaitanyapasula5887
      @chaitanyapasula5887 2 หลายเดือนก่อน

      Thanks a lot bro. This cleared all my confusion!

    • @vaibhavrawat8633
      @vaibhavrawat8633 หลายเดือนก่อน

      thanks brother

  • @asan9657
    @asan9657 9 หลายเดือนก่อน +1

    Actually I have done all questions of bit Manipulation from ATOZ DSA sheet but still watching for one and only striver bhaiya

  • @NonameNoname-f2t
    @NonameNoname-f2t 9 หลายเดือนก่อน +1

    i am so happy .. keep doing hard work

  • @vishnushashank1524
    @vishnushashank1524 9 หลายเดือนก่อน +3

    for those who have confusion on negative numbers, revisit this 25:34

  • @ShauryaPundir
    @ShauryaPundir 7 หลายเดือนก่อน +1

    I wonder my dsa, if Striver Sir weren't in youtube.Thanku Sir.

  • @Logeshwar-s7m
    @Logeshwar-s7m 9 หลายเดือนก่อน +2

    i am appreciating your effort
    also make playlist for greedy and stack & queues

  • @CodeByRobin
    @CodeByRobin 2 หลายเดือนก่อน +2

    At 30:50 when you are taking 2's complement, you are not flipping the signed bit, but at 37:00 , when you are taking 2's complement again in another example, you are flipping the signed bit as well.... please explain , if I am missing something or clear my confusion

    • @siddiqabr7110
      @siddiqabr7110 หลายเดือนก่อน +1

      He made a mistake it Just flips either way even if it is positive or negative

  • @stith_pragya
    @stith_pragya 8 หลายเดือนก่อน +1

    Thank You So Much for this wonderful video.........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @RishabhSharma-p9o
    @RishabhSharma-p9o 7 หลายเดือนก่อน

    a perfect lecture for intro of bit.

  • @riteshbisht94
    @riteshbisht94 9 หลายเดือนก่อน +2

    East or West Striver bhaiya is best 💯

  • @shahidullahmuffakir668
    @shahidullahmuffakir668 6 หลายเดือนก่อน

    after completing your amazing dp playlist, now I started this playlist , your voice sound a bit different here 😄
    Thanks brother for the amazing content.

  • @amanasrani6405
    @amanasrani6405 5 หลายเดือนก่อน

    concepts are cleared❤❤
    thank you striver Bhaiya❤

  • @hareshnayak7302
    @hareshnayak7302 8 หลายเดือนก่อน

    Understood,thanks striver for this amazing video.

  • @andrewcenteno3462
    @andrewcenteno3462 5 หลายเดือนก่อน

    Finally learned this stuff after avoiding it for so long

  • @SHMishra
    @SHMishra 9 หลายเดือนก่อน

    Was eagerly waiting for the video

  • @Suraj.5260
    @Suraj.5260 9 หลายเดือนก่อน +3

    That really cleared my fear of Bits . Thank u .

  • @vishalbhatt9312
    @vishalbhatt9312 8 หลายเดือนก่อน +3

    There is an error in the code 9:44 it doesn't matter if there is one or not you have to update the value of p2
    for (int i = a.length() - 1; i >= 0; i--) {
    if (a.charAt(i) == '1') {
    num += p2;
    }
    p2 *= 2;
    }

  • @priyansheesisodiya6745
    @priyansheesisodiya6745 9 หลายเดือนก่อน

    finally!!!!!!!!!!! can't be more happy ❤‍🔥❤‍🔥❤‍🔥❤‍🔥❤‍🔥

  • @engineer4509
    @engineer4509 9 หลายเดือนก่อน

    Hey bro just one request from my side is please try to complete whole sheet as soon as possible the sheet is legendary thanks again for giving it free

  • @TUSHARGUPTA-z6m
    @TUSHARGUPTA-z6m หลายเดือนก่อน

    Bhai aap bahut acche padhate hai

  • @Harikesh662
    @Harikesh662 3 หลายเดือนก่อน +2

    At 5:27 n!=1 is wrong n!=0 is correct

  • @varun1017
    @varun1017 9 หลายเดือนก่อน +2

    Waiting from 2 months for this playlist.

  • @harshvardhansankpal716
    @harshvardhansankpal716 9 หลายเดือนก่อน +2

    hey, striver in the function converting decimal to binary 4:26 we will manually need to add "1" to the res string at the end , right ?

    • @tanya7463
      @tanya7463 9 หลายเดือนก่อน

      I guess while checking the condition we can check for 0 in place of 1..... as by writing 0 all the cases will be covered

    • @harshvardhansankpal716
      @harshvardhansankpal716 9 หลายเดือนก่อน

      @@tanya7463 no i mean to say the last wala bit LSB is not being considered by striver. wo digram me jo middle bottom 1 hai wo

    • @tanya7463
      @tanya7463 9 หลายเดือนก่อน

      Understood.....what you are saying....we can pushback that '1' in end or we can change the condition in starting from checking to 0 ( while (n!=0) )to avoid adding 1 in last ......hope if it is clear now 😅

    • @harshvardhansankpal716
      @harshvardhansankpal716 9 หลายเดือนก่อน +1

      @@tanya7463 yup

  • @senseiAree
    @senseiAree 9 หลายเดือนก่อน

    Yaaaay... Finally Bit Manipulation... Ab lagegi job sbki

  • @kushalrajpareek5107
    @kushalrajpareek5107 9 หลายเดือนก่อน +4

    36:13 why sign bit doesn,t affect by complement

    • @sonit9707
      @sonit9707 5 หลายเดือนก่อน

      signed bit flip karenge toh positive ka NOT positive he rahega. It doesn't make sense then

  • @AdityaRaj-ti3uz
    @AdityaRaj-ti3uz 8 หลายเดือนก่อน

    hi Striver i have a question 6:25 you were explaining the time complexity of the code log base 2 n but the reverse function will take 0(n) time complexity so eventually the code will take 0(n) or log n?

  • @Alwayspowerstar143
    @Alwayspowerstar143 9 หลายเดือนก่อน +1

    Thank you striver, and now only I think strings playlist is balance

  • @rudrajitgupta3688
    @rudrajitgupta3688 9 หลายเดือนก่อน +1

    I was waiting for this such a long time...Bits manipulation is super fun but was reluctant to learn cos of missing Striver-Factor
    Well now we have it and the community couldnt be more blessed❤.. Thank u Gurudev apnake onek onek ashirbadh r shubhechaa ❤

  • @hakunamatata-nl4js
    @hakunamatata-nl4js 6 หลายเดือนก่อน

    thank you so much
    these lectures are so so good

  • @torishi82
    @torishi82 8 หลายเดือนก่อน

    Great job bhai.

  • @subhajitdey135
    @subhajitdey135 9 หลายเดือนก่อน

    Thank you so much Striver 😭😭

  • @AverageIndianDrivers
    @AverageIndianDrivers 2 หลายเดือนก่อน

    6:59 at the end we have used the reverse function therefore the tc should be nlogn not logn ?

  • @Braveuser-x7j
    @Braveuser-x7j 9 หลายเดือนก่อน

    wow after long time _new Playlist is coming, sir can you make a playlist on "Two pointer"....Thank you❤❤❤❤

  • @ranjeet_sohanpal
    @ranjeet_sohanpal 6 หลายเดือนก่อน

    Trick for 2s compliment in O(n)
    Start from end, the moment you encounter 1, you start flipping the bits that appear after it.

  • @Dineshkumar_dk
    @Dineshkumar_dk 6 หลายเดือนก่อน +2

    when doing NOT ,in 2's complement why the sign bit doesn't change? but when we storing negative number, at that time in 2's complement sign bit is changing. can you please clear this? @takeUforward

  • @PratyayPatel-e6w
    @PratyayPatel-e6w 6 หลายเดือนก่อน +3

    29:41 To find the smallest negative number, why you used "1000000......0" instead we can use "1111111......1". please explain 😭

    • @techmatein
      @techmatein 4 หลายเดือนก่อน

      Because negative numbers are stored as 2’s complement

    • @techmatein
      @techmatein 4 หลายเดือนก่อน

      And the reason why 2’s complement is used is interesting you should check it out if we reserve the left most bit directly for the sign there will be 2 zeros one for positive and another for negative but the 2’s complement removes this issue

  • @shikher4559
    @shikher4559 4 หลายเดือนก่อน

    I have a question, if it stores a negative number as 2's complement
    so at 27:51, how will the computer know that the number is 13 only? because you can see a lot of 1 are there

  • @nischayagrawalVlogs
    @nischayagrawalVlogs 9 หลายเดือนก่อน

    Shouldn't the TC be O(logn) + O(n) at 6:30 as we are using reverse STL ?

  • @gameboyui
    @gameboyui 9 หลายเดือนก่อน +1

    Can someone tell me why on 36:10 sign bit is 1 , it should be 0 , correct me if I am wrongg?

  • @cosmiccometyt
    @cosmiccometyt 6 หลายเดือนก่อน

    thank you so much for this course, we know that the course is probably draining you, as is visible from your face so pls take rest when you need to

  • @negativdomain1370
    @negativdomain1370 9 หลายเดือนก่อน

    Thank you for this series🙏🙏

  • @sulabhsamrat5129
    @sulabhsamrat5129 9 หลายเดือนก่อน

    Striver is going to destroy the dsa market by giving High level of free content 😂

  • @faisalmoinuddin
    @faisalmoinuddin 6 วันที่ผ่านมา

    Very well explained, but there is bug is a small bug in convert2Decimal function kindly keep p2 = p2 * 2 outside if condition

  • @upendrachauhan5260
    @upendrachauhan5260 6 หลายเดือนก่อน +1

    36:54 bhaiya you said a negative number is stored with first bit as a negative sign so -6 in binary format will start with 100000......and so on with last few bits as 0000110. It's a little bit confusing.

    • @ashurajput6916
      @ashurajput6916 4 หลายเดือนก่อน

      At last negation operation part 34:30 onwards
      So, i think bhaiya got a little confused by that, lemme break it down correctly. so on using the negation operation "~" this simply flips all bits and store the result. nothing much.. just simple flip all bits.
      Let's work out with case of positive number
      consider
      n = 5 = 00000000000000000000000000000101
      now,
      ~n = 11111111111111111111111111111010
      this is what is stored inside computer, now upon reading this number when we require it somewhere to be printed or anything. the computer looks at the 31st bit and sees it is set, thus the number is negative, thus a negative sign will be put and now to fetch its value, computer perform 2's complement. So,
      00000000000000000000000000000101

    • @upendrachauhan5260
      @upendrachauhan5260 4 หลายเดือนก่อน

      @@ashurajput6916 respect for you brother

  • @surendrababu223
    @surendrababu223 9 หลายเดือนก่อน

    Thank you very much for your dedication

  • @AnuragShekharANDRE23
    @AnuragShekharANDRE23 7 หลายเดือนก่อน +1

    there is a mistake in 4:42 "number to binary" code -> if(n!=1) => you are leaving the last 1 after the division.

  • @ishanmoykhede9484
    @ishanmoykhede9484 9 หลายเดือนก่อน +1

    comeback shuru

  • @abhaymandal4903
    @abhaymandal4903 6 หลายเดือนก่อน

    9:42 , code is written if the binary of no is present in reverse.
    Isn' it ??

  • @ajitmahatoshorts
    @ajitmahatoshorts 9 หลายเดือนก่อน +1

    Bas ab String or Heaps reh gya 😊 jaldi complete kardo bhaiya inhe v

  • @YVJawahar
    @YVJawahar 9 หลายเดือนก่อน

    Great Content !, Can you extend this playlist by adding bitmask and bitmask DP? Thank you!

  • @vishnu4647
    @vishnu4647 9 หลายเดือนก่อน +2

    what happen to string module which was before linkedlist??

  • @bhanuprakash_molli
    @bhanuprakash_molli 9 หลายเดือนก่อน

    THANK YOU STRIVER...🙂

  • @ryugagaming195
    @ryugagaming195 9 หลายเดือนก่อน +2

    Sir plz make playlist on sliding window

  • @prabhakaran5542
    @prabhakaran5542 9 หลายเดือนก่อน +1

    100th like from me was my pleasure ❤

  • @kashishseth9558
    @kashishseth9558 9 หลายเดือนก่อน

    I really like this man

  • @yogeshchauhan9401
    @yogeshchauhan9401 9 หลายเดือนก่อน

    Much needed topic 😅

  • @zee_desai
    @zee_desai 6 หลายเดือนก่อน

    def binary_to_decimal(binary_string):
    res = 0
    base = 1
    for i in range(len(binary_string) - 1, -1, -1):
    num_added = binary_string[i] == "1"
    res += (base * num_added)
    base *= 2
    return res

  • @tej.askamble
    @tej.askamble 9 หลายเดือนก่อน

    Wait is over 🥳🥳🥳🥳

  • @Hema-18181
    @Hema-18181 9 หลายเดือนก่อน

    Thank youu STRIVER💃

  • @KalingaAbhisek
    @KalingaAbhisek 9 หลายเดือนก่อน

    Bhaiya there in while loop condition 6:29. It should be n!=0 or n>0 instead of n!=1

  • @sauravkrishnachauhan1660
    @sauravkrishnachauhan1660 6 หลายเดือนก่อน

    mistake at 36:00 we only have to flip 0s to 1 and 1 to 0 , no need to check for negative conditions
    flip will give answer for ~

  • @sharpstudy4043
    @sharpstudy4043 5 หลายเดือนก่อน +2

    Bhai while loop ki condition alg ayge :
    while(n>0) hoga

  • @priyanshudabral6588
    @priyanshudabral6588 9 หลายเดือนก่อน

    Love you Bhai so much❤

  • @codeman3828
    @codeman3828 8 หลายเดือนก่อน

    Understood. Thank you!

  • @StrautBell
    @StrautBell 9 หลายเดือนก่อน +4

    Waiting for String playlist

  • @subodhbijwe6770
    @subodhbijwe6770 6 หลายเดือนก่อน

    Can someone confirm at 35:57 you get the sign to be negative and flip all bits to get 6. And that's how you get -6. The computer stores 2's complement 11111...010.

  • @Munchen888
    @Munchen888 3 หลายเดือนก่อน

    Striver thank you very much. God bless you ❤
    Please could you explain how to rotate number by k steps. K may be less than 0 or greater than 32
    If it is < 0 rotate right , if positive rotate left.

  • @Priyasingh-xr6df
    @Priyasingh-xr6df 9 หลายเดือนก่อน +1

    A2Z sheet is not updated with notes and video links for bit manipulation.

  • @vaibhavyadav1787
    @vaibhavyadav1787 9 หลายเดือนก่อน

    Lots Lots Lots of Love 🤟

  • @p1xel3434
    @p1xel3434 5 หลายเดือนก่อน

    I understand that negative numbers are stored in 2's complement format. Can you explain why? Why can't we just change the sign bit and leave the rest of the bits as they are to change the number from positive to negative?

  • @Infinull-w8d
    @Infinull-w8d 2 วันที่ผ่านมา

    In 36:13 I noticed a small mistake
    The ~ (tilde operator) or (flip operator) doesn't work like that
    It JUST FLIPS... it doesn't check and convert's to 2's compliment... Here's the explaination
    Lets say u have ....................................5 = (0000000000........0101)
    Now u flip the bits it using tilde ....... ~5= (1111111111........1010)
    just google what's the value of (1111111111........1010). It's literally -6.
    So the extra step u mentioned of [checking negative & converting to 2's compliment doesn't happens].
    U may ask, then why this weird binary's value is -6
    In binary the negative numbers are actually 2's compliment. They are kinda in a reverse order
    2 = 000000.............0010
    1 = 000000.............0001
    0 = 000000.............0000
    -1 = 111111.............1111
    -2 = 111111.............1110
    -3 = 111111.............1101
    and so on...
    for further ref :
    stackoverflow.com/questions/68319054/representation-of-negative-numbers-in-binary
    www.quora.com/How-is-negative-numbers-represented-in-binary-code
    Hope it helps!

  • @gugulothsrilakshmi8729
    @gugulothsrilakshmi8729 6 หลายเดือนก่อน

    for reversing string doesnt it take tc of 0(n/2) ~0(n) ,and it is greater than logarthimic tc right.

  • @AkashKumarSripatnala
    @AkashKumarSripatnala 9 หลายเดือนก่อน

    Much needed one

  • @riddlemastermind25
    @riddlemastermind25 9 หลายเดือนก่อน +1

    Thalaivaaa❤

  • @grindmaple
    @grindmaple 7 หลายเดือนก่อน

    For INT_MIN you have made the binary as 1(-ve) 0 0 0 ....0 0 0 0 this is representing ZERO not the INT_MIN before calculating two's complement
    Correct me if i'm wrong

  • @Codebond7
    @Codebond7 9 หลายเดือนก่อน

    Thanks and I promise I will finish by tommorow

    • @Monika-vs6bw
      @Monika-vs6bw 9 หลายเดือนก่อน

      did you?

    • @Codebond7
      @Codebond7 9 หลายเดือนก่อน

      @@Monika-vs6bw yup done ..

  • @exmephistoop3714
    @exmephistoop3714 7 หลายเดือนก่อน +1

    35:57 here , when we flipped the number the sign bit became 1 ,when we check it came out to be a negative number so we have to do it's 2's complement then but why sign bit is left unchanged please answer me . @takeyouforward

  • @souradeepghosh9888
    @souradeepghosh9888 9 หลายเดือนก่อน

    Strings (hard problems) ka video solutions or Articles add kardo bhaiya ❤

  • @ruchithareddy1306
    @ruchithareddy1306 5 หลายเดือนก่อน

    Great Explanation! I have a doubt.
    Why does the sign bit did not change during x~5 while performing 2's compliment. And when we are doing x~-6 he change the sign of 31 bit during 2's compliment.
    Someone please answer this.

    • @saarza9991
      @saarza9991 4 หลายเดือนก่อน

      He did wrong