#include<iostream> #include<iomanip> #include<cmath> #include<string> #include<vector> #include<list> #include<algorithm> #include<map> #include<set> #include<queue> #include<stack> 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<n;++i) #define rrep(i, n) for(int i=n;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<N;++i) cin>>A[i]; string S; cin>>S; ll ans = A[0]%P; ll h; ll two; ll tmp; for(int i=0;i<S.size();++i){ if(S[i]=='+'){ ans += A[i+1]; ans %= P; } if(S[i]=='-'){ ans -= A[i+1]; ans = (ans + P)%P; } if(S[i]=='*'){ ans *= A[i+1]; ans %= P; } if(S[i]=='/'){ h = P-2; while(h>0){ two = 1; tmp = A[i+1]; while(2*two<=h){ two *= 2; tmp *= tmp; tmp %= P; } h -= two; ans *= tmp; ans %= P; } } } cout<<ans<<endl; }