#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001LL int main(){ int n; cin>>n; vector a(n); rep(i,n)cin>>a[i]; long long x = 0,y = 0,z = 0; rep(i,n){ string s; cin>>s; if(s=="add")x++; if(s=="min")z++; if(s=="max")y++; } long long ok =0,ng = 300000000000000; while(ng-ok>1LL){ long long mid = (ok+ng)/2; vector mo,le; rep(i,n){ if(a[i] >= mid)mo.push_back(a[i]); else le.push_back(a[i]); } if(z>mo.size()){ ng = mid; continue; } if(z= mid){ ok = mid; } else ng = mid; } cout<