#include<bits/stdc++.h>
#define MAX_N 10005
#define MAX_M 105
using namespace std;
int n,m,a[MAX_N][MAX_M],door[MAX_N];
bool b[MAX_N][MAX_M];
int f(int floor,int room){
if(floor==n+1)
return a[floor-1][room]%20123;
int num=0,i;
for(i=room;;i++){
if(i==m+1)
i=1;
num+=b[floor][i];
if(num==a[floor][room]%door[floor]+1)
break;
}
return (f(floor+1,i)%20123+a[floor][room]%20123)%20123;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
cin>>b[i][j]>>a[i][j];
door[i]+=b[i][j];
}
int start;
cin>>start;
cout<<f(1,start);
return 0;
}