#include <cstdio>
#include <iostream>
using namespace std;

long long n,m,a[10001][101],b[10001][101],c[10001],sum,k,ans,q;

int main()
{
    scanf("%lld%lld",&n,&m);
    for (int i=1;i<=n;i++)
     for (int j=0;j<=m-1;j++)
     {
        scanf("%lld%lld",&a[i][j],&b[i][j]);
        c[i]+=a[i][j];  //c[i]记录第i层楼梯总数
     } 
    scanf("%lld",&k);
    for (int j=1;j<=n;j++)
    {
        sum+=b[j][k];  //记录答案
        ans=0;
        q=k;
        b[j][q]=(b[j][q]-1)%c[j]+1;  //减去多余部分
        while (ans<b[j][q])
        {
            ans+=a[j][k];  //如上
            if (ans==b[j][q]) break;
            k++;
            if (k==m) k=0;
        }
    }
    printf("%lld\n",sum%20123);  //输出(别忘了%20123)
}
/**************************************************************
	Problem: 1665
	User: admin
	Language: C++
	Result: Accepted
	Time:1046 ms
	Memory:17940 kb
****************************************************************/