#include <bits/stdc++.h>
using namespace std;
int m,q,len,sec,pc=-1,dz;
string s;
map<int,int> mp;
void rc(){
set<int> st;
for(int i=0;i<len;i++){
if(s[i]=='?')st.insert(i);
else if(s[i]==':'){
mp[*st.rbegin()]=i;
st.erase(*st.rbegin());
}
}
}
int ck,num;
bool jxs(int l,int r){
ck=1;
num=0;
while(!(s[r]=='>' || s[r]=='<')){
num+=ck*(s[r]-'0');
ck*=10;
r--;
}
if(s[r]=='>')return dz>num;
else return dz<num;
}
string wq(int l,int r){
int tw;
for(int i=l;i<r;i++){
if(s[i]=='?'){
if(jxs(l,i-1))return wq(i+1,mp[i]-1);
else return wq(mp[i]+1,r);
}
}
return s.substr(l,r-l+1);
}
int main(){
//freopen("medal.in", "r", stdin);
//freopen("medal.out", "w", stdout);
cin>>m>>q>>s;
len=s.size();
rc();
for(int i=0;i<q;i++){
cin>>dz;
cout<<wq(0,s.size()-1)<<'\n';
}
return 0;
}