#include<iostream>
#include<stdio.h>
#include<bitset>
#include<vector>
#include<math.h>
#define N 10000000
using namespace std;
bitset <N> bits ;
int primes[N] ;
void precomputation(){
for(int i = 2; i < N; i += 2) primes[i] = 2 ;
int sq=sqrt(N-1);
for(int i = 3; i < N; i += 2)
if (!bits[i]){
primes[i] = i ;
if(i<=sq) for(int j = i * i; j < N; j += 2 * i)
if (!bits[j]){
primes[j] = i ;
bits[j] = 1 ;
}
}
cout << "success" << endl ;
}
/*long long int exponent (int base, int exp){
long long int res;
if (exp == 0)
return 1;
res = exponent(base, exp/2) ;
if (exp%2 == 0)
return (res * res);
return (base * res * res) ;
}
long long int factor (long long int n) {
long long res = 1 ;
int count;
while(n > 1){
count = 0 ;
int i = primes[n] ;
while(n % i == 0){
n /= i ;
count++ ;
}
res *= (exponent(i, count+1) - 1) / (i - 1) ;
cout << endl ;
}
return res ;
}*/
int main(){
ios_base::sync_with_stdio(false) ; cin.tie(0) ;
precomputation() ;
cout << "success" << endl ;
/*int t;
long long int n ;
cin >> t ;
while(t--){
cin >> n ;
//cout << factor(n) - n << "\n";
}*/
return 0 ;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPGJpdHNldD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXRoLmg+CiNkZWZpbmUgTiAxMDAwMDAwMAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpiaXRzZXQgPE4+IGJpdHMgOwppbnQgcHJpbWVzW05dCTsKdm9pZCBwcmVjb21wdXRhdGlvbigpewogICAgZm9yKGludCBpID0gMjsgaSA8IE47IGkgKz0gMikJcHJpbWVzW2ldID0gMiA7CglpbnQgc3E9c3FydChOLTEpOwogICAgZm9yKGludCBpID0gMzsgaSA8IE47IGkgKz0gMikKICAgICAgICAgICAgaWYgKCFiaXRzW2ldKXsKICAgICAgICAgICAgICAgIHByaW1lc1tpXSA9IGkgICA7CiAgICAgICAgICAgICAgICBpZihpPD1zcSkgZm9yKGludCBqID0gaSAqIGk7IGogPCBOOyBqICs9IDIgKiBpKQogICAgICAgICAgICAgICAgICAgIGlmICghYml0c1tqXSl7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW1lc1tqXSA9IGkgOwogICAgICAgICAgICAgICAgICAgICAgICBiaXRzW2pdID0gMSA7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgY291dCA8PCAic3VjY2VzcyIgPDwgZW5kbAk7Cn0KCi8qbG9uZyBsb25nIGludCBleHBvbmVudCAoaW50IGJhc2UsIGludCBleHApewogICAgbG9uZyBsb25nIGludCByZXM7CiAgICBpZiAoZXhwID09IDApCiAgICAgICAgcmV0dXJuIDE7CiAgICByZXMgPSBleHBvbmVudChiYXNlLCBleHAvMikgOwogICAgaWYgKGV4cCUyID09IDApCiAgICAgICAgcmV0dXJuIChyZXMgKiByZXMpOwogICAgcmV0dXJuIChiYXNlICogcmVzICogcmVzKSA7Cn0KCgpsb25nIGxvbmcgaW50IGZhY3RvciAobG9uZyBsb25nIGludCBuKSAgewogICAgbG9uZyBsb25nIHJlcyA9IDEgIDsKICAgIGludCBjb3VudDsKICAgIHdoaWxlKG4gPiAxKXsKICAgICAgICBjb3VudCA9IDAgICA7CiAgICAgICAgaW50IGkgPSBwcmltZXNbbl0gICAgOwogICAgICAgIHdoaWxlKG4gJSBpID09IDApewogICAgICAgICAgICBuIC89IGkgIDsKICAgICAgICAgICAgY291bnQrKyA7CiAgICAgICAgfQogICAgICAgIHJlcyAqPSAoZXhwb25lbnQoaSwgY291bnQrMSkgLSAxKSAgLyAoaSAtIDEpICA7CiAgICAgICAgY291dCA8PCBlbmRsCTsKICAgIH0KICAgIHJldHVybiByZXMgIDsKfSovCmludCBtYWluKCl7CgogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSkgICAgOyAgIGNpbi50aWUoMCkgIDsKICAgIHByZWNvbXB1dGF0aW9uKCkgICAgOwogICAgY291dCA8PCAic3VjY2VzcyIgPDwgZW5kbAk7CiAgICAKICAgIAogICAgLyppbnQgdDsKICAgIGxvbmcgbG9uZyBpbnQgICBuICAgOwogICAgY2luID4+IHQgICAgOwogICAgd2hpbGUodC0tKXsKICAgICAgICBjaW4gPj4gbiAgICA7CiAgICAgICAgLy9jb3V0IDw8ICBmYWN0b3IobikgLSBuICA8PCAiXG4iOwogICAgfSovCiAgICByZXR1cm4gMCAgICA7Cn0K