#include "bits/stdc++.h"
using namespace std;
string to_string(char x){
stringstream ss;
string str;
ss<<x;
ss>>str;
return str;
}
string jh(int x,string str){
string ans="";
for(int i=0;i<str.length();i++)
if(str[i]=='x') ans+=to_string(x);
else ans+=to_string(str[i]);
return ans;
}
int find(int x,string str){
int i=x,q=0;
while(1){
if(str[i]==':')
if(!q) break;else q--;
if(str[i]=='?') q++;
i++;
if(i==str.length()) return i-1;
}return i;
}
int getnum(int x,int y,string str){
int sum=0;
for(int i=x;i<=y;i++)
if(str[i]>='0' && str[i]<='9') sum=sum*10+str[i]-'0';
return sum;
}
bool check(int x,int y,string str){
int p=0;
char ch=' ';
for(int i=x;i<=y;i++)
if(str[i]=='>' || str[i]=='<'){p=i;ch=str[i];break;};
if(ch=='>') return getnum(x,~-p,str)>getnum(-~p,y,str);
if(ch=='<') return getnum(x,~-p,str)<getnum(-~p,y,str);
}
int js(int st,int en,string str){
int f=-1;
for(int i=st;i<=en;i++)
if(str[i]=='?'){f=i;break;}
if(f==-1) return getnum(st,en,str);
if(check(st,f-1,str)) return js(f+1,find(f+1,str)-1,str);
return js(find(f+1,str)+1,en,str);
}
int main(void){
int n,m;
scanf("%d%d",&n,&m);
string str1;
cin>>str1;
while(m--){
int x;
scanf("%d",&x);
string str=jh(x,str1);
printf("%d\n",js(0,str.length()-1,str));
}
}