ჯაშუშები

დროის ლიმიტი: 4 წმ

მეხსიერების ლიმიტი: 128 მეგაბაიტი

შემავალი მონაცემები: stdin

გამომავალი მონაცემები: stdout

წყარო: პოლონეთი, ოლიმპიადა 11, ეტაპი 1


                ერთ-ერთ სააგენტოს ჰყავს ჯაშუშები. ყოველ ჯაშუშს აქვს ვალდებულება, რომ მისიაზე დააზღვიოს ზუსტად ერთი, რომელიმე  სხვა ჯაშუში, ანუ პასუხისმგებლობა აიღოს მასზე.

                ჯაშუშთა მეფეს სურს, რომ მისიაზე გაუშვას რაც შეიძლება მეტი ჯაშუში. ვინაიდან, მისია ძალიან მნიშნელოვანია, ყველა ჯაშუშს, რომელიც მასში მონაწილეობს უნდა აზღვევდეს ერთი ჯაშუში მაინც, რომელიც არ მონაწილეობს ამ მისიაში. (ჯაშუშებს არ აქვთ უფლება, რომ გაცვალონ და სხვა ჯაშუში დააზღვიონ, რომელზეც მათ პასუხისმგებლობა არ აქვთ აღებული.)

დაწერეთ პროგრამა, რომელიც:

·         წაიკითავს სტანდარტული შემომავალი მონაცემებიდან და გაარკვევს, რომელ ჯაშუშს რომელზე აქვს პასუხისმგებლობა.

·         გამოითვლის რამდენი ჯაშუშის გაგზავნაა შესაძლებელი მისიაზე, რომ თითოეული მათგანი იყოს დაზღვეული ერთი მაინც სხვა ჯაშუშის მიერ, რომელიც არ იღებს ამ მისიაში მონაწილეობას.

·         დაბეჭდოს საბოლოო პასუხი.

შემომავალი მონაცემები: პირველ ხაზზე შემოდის ერთი დადებითი რიცხვი n, რომელიც გვიჩვენებს ჯაშუშთა რაოდენობას. 2 <= n <= 1 000 000. ჯაშუშები გადანომრილნი არიან 1-დან n-ის ჩათვლით. მომდევნო n შემომავალი ხაზი გვიჩვენებს, თუ რომელი ჯაშუში, რომელ ჯაშუშს მიჰყვება დასაზღვევად. თითოეული ეს ხაზი შეიცავს დადებით რიცხვს. რიცხვი ak, რომელიც k+1 ხაზზეა, აღნიშნავს, რომ ჯაშუში, რომლის ნომერიც არის k, აზღვევს ჯაშუშ  ak-ს. 1 <= k <= n, 1 <= ak <= n, ak k.

გამომავალი მონაცემები: პროგრამამ, უნდა დაბეჭდოს ერთი რიცხვი - მაქსიმალური ჯაშუშების რაოდენობა, რომელთა მისიაზე გაგზავნაცაა შესაძლებელი.




მაგალითები

შესატანი მონაცემები
6 2 3 1 3 6 5 დაკოპირება
გამოსატანი მონაცემები
3 დაკოპირება

შენიშვნა

ამოცანის ლინკი ნახაზისათვის : https://szkopul.edu.pl/problemset/problem/RiTxbbjmgXZ84FuD9qo15Aq8/site/?key=statement