#include <stdio.h>
#include <stdbool.h>
int FloorN, RoomN, Number[10007][107], Pos;
bool HaveStair[10007][107];
int Res, RoomNum[10007][107], size[10007];
int main()
{
int i, j, cache;
scanf("%d%d", &FloorN, &RoomN);
for (i = 1; i <= FloorN; i++)
for (j = 0; j < RoomN; j++)
{
scanf("%d%d", &HaveStair[i][j], &Number[i][j]);
if (HaveStair[i][j]) RoomNum[i][size[i]++] = j;
}
scanf("%d", &Pos);
for (i = 1; i <= FloorN; i++)
{
cache = 0;
Res = (Res + Number[i][Pos]) % 20123;
for (j = Pos; j < RoomN; j++)
if (HaveStair[i][j]) cache++;
Pos = RoomNum[i][(Number[i][Pos] - cache - 1 + size[i]) % size[i]];
}
printf("%d\n", Res);
return 0;
}
/**************************************************************
Problem: 2311
User: admin
Language: C
Result: Accepted
Time:952 ms
Memory:10596 kb
****************************************************************/