#include<iostream>
#include<cstdio>
using namespace std;
const int N(10008),M(108),MODN=20123;
int a[N][M],f[N][M],sum[N]={0};
int main()
{
    //freopen("treasure.in","r",stdin);
    //freopen("treasure.out","w",stdout);
    int n,m,i,j,k;
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;i++)
        for (j=0;j<m;j++)
        {
            scanf("%d%d",&f[i][j],&a[i][j]);
            if (f[i][j]) sum[i]++;
        }
    int ans=0;
    scanf("%d",&j);
    for (i=1;i<=n;i++)
    {
        ans=(ans+a[i][j])%MODN;
        a[i][j]%=sum[i];
        if (a[i][j]==0) a[i][j]=sum[i];
        for (k=a[i][j];k>0;)
        {            
            if (f[i][j])
                k--;
            if (k>0) j=(j+1)%m;  
        }      
    }
    printf("%d\n",ans);
    return 0;
}
/**************************************************************
	Problem: 2311
	User: admin
	Language: C++
	Result: Accepted
	Time:957 ms
	Memory:10560 kb
****************************************************************/