#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace std; using namespace atcoder; using ll=long long; using lll=__int128; void IO(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); } ll modpow(ll a,ll n,ll mod){ ll res=1; while(n>0){ if(n&1){ res=res*a%mod; } a=a*a%mod; n>>=1; } return res; } ll modinv(ll a,ll m){ ll b=m,u=1,v=0; while(b){ ll t=a/b; a-=t*b; swap(a,b); u-=t*v; swap(u,v); } u%=m; if(u<0) u+=m; return u; } int main(){ IO(); ll n; cin>>n; ll m; cin>>m; if(n