#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define fi first #define se second #define mp make_pair #define rep(i, n) for(int i=0;i=0;--i) const int inf=1e9+7; const ll mod=1e9+7; const ll big=1e18; const double PI=2*asin(1); int main() { ll P, N; cin>>P>>N; ll A[N]; for(int i=0;i>A[i]; string S; cin>>S; ll ans = A[0]%P; ll h; ll two; ll tmp; for(int i=0;i0){ two = 1; tmp = A[i+1]; while(2*two<=h){ two *= 2; tmp *= tmp; tmp %= P; } h -= two; ans *= tmp; ans %= P; } } } cout<