დროის ლიმიტი: 2 წმ
მეხსიერების ლიმიტი: 128 მეგაბაიტი
შემავალი მონაცემები: stdin
გამომავალი მონაცემები: stdout
წყარო: CodeFest 2021
თამთამ გრაფიკული პროგრამირების სწავლა დაიწყო. დღეს მან პირველი ბრძანება ისწავლა. მისი ეკრანი წარმოადგენს NxM-ზე შავ-თეთრი პიქსელების ცხრილს(grid), სადაც თითოეული პიქსელი ან ანთებულია, ან ჩამქრალი. თავიდან ყველა პიქსელი ანთებულია. მან ისწავლა ფუნქცია სახელად flip(x0,x1,y0,y1) რომელსაც გადაეცემა მართკუთხედის კოორდინატები. ფუნქციის შედეგად ამ მართკუთხეში, ჩარჩოს ჩათვლით, ყველა პიქსელი შეიცვლის მდგომარეობას: თუ ანთებული იყო ჩაქრება, თუ ჩამქრალი - აინთება. თამთამ ზედიზედ ბევრჯერ გამოიყენა ეს ფუნქცია და აინტერესებს, საბოლოოდ, რამდენი პიქსელი დარჩა ანთებული. დაეხმარეთ მას ანთებული პიქსელების რაოდენობის დათვლაში.
შემომავალი მონაცემები: პირველი ხაზი შეიცავს სამ რიცხვს W, H, Q რომლებიც შესაბამისად აღნიშნავენ ეკრანის სიგანეს, ეკრანის სიმაღლეს და ფუნქციის გამოძახების რაოდენობას. (1<=W<=10^9; 1<=H<=10^9; 1<=Q<=10^5). შემდეგი Q ხაზი შეიცავს 4 რიცხვს: X0, X1, Y0, Y1 რაც აღნიშნავს flip-ისთვის გადაცემული მართკუთხედის კოორდინატებს. თითო ქვერის შედეგად მდგომარეობას შეიცვლის ყველა პიქსელი რომლის x, y კოორდინატები აკმაყოფილებს პირობას: X0<=x<=X1 და Y0<=y<=Y1. (1<=X0, X1<=W; 1<=Y0, Y1<=H)
გამომავალი მონაცემები: გამოიტანეთ ერთი რიცხვი: ანთებული პიქსელების რაოდენობა. (დასაწყისში ყველა პიქსელი ანთებულია!)
შესატანი მონაცემები
4 5 3 1 3 2 5 2 4 3 4 3 3 1 5 დაკოპირება
გამოსატანი მონაცემები
9 დაკოპირება
მაგალითის ახსნა:
#### #### #### ##.#
#### ...# ...# ..##
#### --> ...# --> .##. --> .#..
#### ...# .##. .#..
#### ...# ...# ..##