#ifdef _WIN32 # define LL "%I64d" #else # define LL "%Ld" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define null NULL #define mp make_pair #define pb(a) push_back(a) #define sz(a) ((int)(a).size()) #define all(a) a.begin() , a.end() #define fi first #define se second #define relaxMin(a , b) (a) = min((a),(b)) #define relaxMax(a , b) (a) = max((a),(b)) #define SQR(a) ((a)*(a)) typedef vector vi; typedef pair pii; typedef long long ll; vector ini , a , b , mod; int N , M; struct compare{ bool operator()(const int& f , const int& s) const{ return mp(ini[f] , f) < mp(ini[s] , s); } }; set nal; vector red; vi Q; void nxt(int p){ ini[p] += ((ini[p]%mod[p])*a[p] + b[p])%mod[p]; } int UPTO = 2; int main(){ freopen("arrays.in" , "r" , stdin); freopen("arrays.out" , "w" , stdout); scanf("%d" , &N); for(int i=0;i