#include <stdio.h>
int main(void) {
//scan data
int n;
int Friend[50000];
int i;
for(i=0;i<n;i++)
//process data
int visited[50000]={0};
//int group[50000]={0};
int m=0;
int *iptr=Friend;
for(i=0;i<n;i++){
if(visited[i]==0){
iptr=&Friend[i];
visited[i]=1;
m++;
//group[i]=m;
while(*iptr!=i){
visited[*iptr]=1;
//group[*iptr]=m;
iptr=&Friend[*iptr];
}
}
}
//print data
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgkvL3NjYW4gZGF0YQoJaW50IG47CglzY2FuZigiJWQiLCZuKTsKCWludCBGcmllbmRbNTAwMDBdOwoJaW50ICBpOwoJZm9yKGk9MDtpPG47aSsrKQoJCXNjYW5mKCIlZCIsJkZyaWVuZFtpXSk7CgkKCS8vcHJvY2VzcyBkYXRhCglpbnQgdmlzaXRlZFs1MDAwMF09ezB9OwoJLy9pbnQgZ3JvdXBbNTAwMDBdPXswfTsKCWludCBtPTA7CglpbnQgKmlwdHI9RnJpZW5kOwoJZm9yKGk9MDtpPG47aSsrKXsKCQlpZih2aXNpdGVkW2ldPT0wKXsKCQkJaXB0cj0mRnJpZW5kW2ldOwoJCQl2aXNpdGVkW2ldPTE7CgkJCW0rKzsKCQkJLy9ncm91cFtpXT1tOwoJCQl3aGlsZSgqaXB0ciE9aSl7CgkJCQl2aXNpdGVkWyppcHRyXT0xOwoJCQkJLy9ncm91cFsqaXB0cl09bTsKCQkJCWlwdHI9JkZyaWVuZFsqaXB0cl07CgkJCX0KCQl9Cgl9CgkKCS8vcHJpbnQgZGF0YQoJcHJpbnRmKCIlZCIsbSk7CglyZXR1cm4gMDsKfQo=