#include<bits/stdc++.h>
using namespace std;
int n;
int arr[101][101]={0,};
vector<pair<int,char>>dir;
int dx[4]={0,1,0,-1}, dy[4]={1,0,-1,0}, way=0; //방향
int cnt=0;
queue<pair<int,int>>snake;
int game(){
snake.push({1,1});
arr[1][1]=2;
while(1){
cnt++;
int hx = snake.back().first;
int hy = snake.back().second;
int nx = hx + dx[way];
int ny = hy + dy[way];
//벽이나 몸인지
if(nx<1 || nx>n || ny<1 || ny>n || arr[nx][ny]==2){
break;
}
//사과가 있다면
if(arr[nx][ny]==1){
arr[nx][ny]=2;
snake.push({nx,ny});
}
else{//사과가 없다면
arr[nx][ny] = 2;
snake.push({nx, ny});
auto tail = snake.front();
snake.pop();
arr[tail.first][tail.second] = 0;
}
//시간별 회전
if(!dir.empty() && cnt==dir[0].first){
if(dir[0].second=='L')
way=(way+3)%4;
else
way=(way+1)%4;
dir.erase(dir.begin());
}
}
return cnt;
}
int main(){
int k,l,a,b,x;
char c;
cin>>n>>k;
while(k--){
cin>>a>>b;
arr[a][b]=1;
}
cin>>l;
while(l--){
cin>>x>>c;
dir.push_back({x,c});
}
cout<<game();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbjsKaW50IGFyclsxMDFdWzEwMV09ezAsfTsKdmVjdG9yPHBhaXI8aW50LGNoYXI+PmRpcjsKaW50IGR4WzRdPXswLDEsMCwtMX0sIGR5WzRdPXsxLDAsLTEsMH0sIHdheT0wOyAvL+uwqe2WpQppbnQgY250PTA7CnF1ZXVlPHBhaXI8aW50LGludD4+c25ha2U7CgppbnQgZ2FtZSgpewoJc25ha2UucHVzaCh7MSwxfSk7CglhcnJbMV1bMV09MjsKCQoJd2hpbGUoMSl7CgkJY250Kys7CgkJCgkJaW50IGh4ID0gc25ha2UuYmFjaygpLmZpcnN0OwogICAgICAgIGludCBoeSA9IHNuYWtlLmJhY2soKS5zZWNvbmQ7CiAgICAgICAgaW50IG54ID0gaHggKyBkeFt3YXldOwogICAgICAgIGludCBueSA9IGh5ICsgZHlbd2F5XTsKCQkKCQkvL+uyveydtOuCmCDrqrjsnbjsp4AKCQlpZihueDwxIHx8IG54Pm4gfHwgbnk8MSB8fCBueT5uIHx8IGFycltueF1bbnldPT0yKXsKCQkJYnJlYWs7CgkJfQoKCQkvL+yCrOqzvOqwgCDsnojri6TrqbQKCQlpZihhcnJbbnhdW255XT09MSl7CgkJCWFycltueF1bbnldPTI7CgkJCXNuYWtlLnB1c2goe254LG55fSk7CgkJfQoJCWVsc2V7Ly/sgqzqs7zqsIAg7JeG64uk66m0CgkJCWFycltueF1bbnldID0gMjsKICAgICAgICAgICAgc25ha2UucHVzaCh7bngsIG55fSk7CiAgICAgICAgICAgIGF1dG8gdGFpbCA9IHNuYWtlLmZyb250KCk7CiAgICAgICAgICAgIHNuYWtlLnBvcCgpOwogICAgICAgICAgICBhcnJbdGFpbC5maXJzdF1bdGFpbC5zZWNvbmRdID0gMDsKCQl9CgkKCQkvL+yLnOqwhOuzhCDtmozsoIQKCQlpZighZGlyLmVtcHR5KCkgJiYgY250PT1kaXJbMF0uZmlyc3QpewoJCQlpZihkaXJbMF0uc2Vjb25kPT0nTCcpCgkJCQl3YXk9KHdheSszKSU0OwoJCQllbHNlCgkJCQl3YXk9KHdheSsxKSU0OwoJCQkJCgkJCWRpci5lcmFzZShkaXIuYmVnaW4oKSk7CgkJfQoJfQoJCglyZXR1cm4gY250Owp9CgppbnQgbWFpbigpewoJaW50IGssbCxhLGIseDsKCWNoYXIgYzsKCQoJY2luPj5uPj5rOwoJCgl3aGlsZShrLS0pewoJCWNpbj4+YT4+YjsKCQkKCQlhcnJbYV1bYl09MTsKCX0KCQoJY2luPj5sOwoJCgl3aGlsZShsLS0pewoJCWNpbj4+eD4+YzsKCQkKCQlkaXIucHVzaF9iYWNrKHt4LGN9KTsKCX0KCQoJY291dDw8Z2FtZSgpOwoJCglyZXR1cm4gMDsKfQ==