./Main.cpp: In function ‘int main()’:
./Main.cpp:19:39: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
signed main(){M(b),M(c);scanf("%d",&n);for(register int i(1);i^n;i++){scanf("%d",&a[i]);}for(register int i(n-1);i;i--){b[a[i]]+=++b[i],c[a[i]]=max(c[a[i]],b[i]);}for(register int i(0);i^n;i++){printf("%d",max(c[i],n-b[i])),P;}return 0;}
^
./Main.cpp:19:88: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
signed main(){M(b),M(c);scanf("%d",&n);for(register int i(1);i^n;i++){scanf("%d",&a[i]);}for(register int i(n-1);i;i--){b[a[i]]+=++b[i],c[a[i]]=max(c[a[i]],b[i]);}for(register int i(0);i^n;i++){printf("%d",max(c[i],n-b[i])),P;}return 0;}
^