#include #include #include #include using namespace std; int main () { ifstream fin ("decode.in"); string s; bool foundperiode; int n, m; fin >> n >> m; while(!(n == 0 && m == 0)) { int periode = 1; foundperiode = false; int permutation[n]; for(int i=0; i < n; i++) { fin >> permutation[i]; } for(int i=1; i <= n; i++) { int j = permutation[i-1]; if(j!=0) { int laenge = 1; while(j!=i) { // cout << j << endl; laenge++; j = permutation[j-1]; // permutation[j-1] = 0; } // cout << laenge << endl; int per = periode; int lae = laenge; int tmp; // ggt // cout << "ggt von " << lae << " und " << per; while(per != 0) { tmp = per; per = lae % per; lae = tmp; } // cout << " ist " << lae << endl; periode *= laenge/lae; // if(periode%laenge!=0) // { // cout << "laenge " << laenge << endl; // periode = periode*laenge; // } } } // cout << "Perode: " << periode << endl; getline(fin,s); getline(fin,s); int array [n]; // int org[n]; // for(int i=0; i < n; i++) // { // org[i] = s[i]; // } // // for(int k=0;k> n >> m; } return 0; }