#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
****************************************************************/