#include int n; int perm[200000]; int incyc[200000]; void mark(int od,int by) { while (!incyc[od]) { incyc[od]=by; od=perm[od]; } } int sign(void) { int i; int cp=0; for (i=0;i