Почти максимум
Input file: 	NEARMAX.IN			
Output file: NEARMAX.OUT			Time limit: 1 sec.

Имеется прямоугольная таблица размером N строк на M столбцов, заполненная натуральными числами, не превосходящими 1000. Нужно пройти из левого верхнего угла в правый нижний, перемещаясь на одну клетку влево или вниз. При перемещении считаем сумму чисел в пройденных клетках. Наша цель – найти максимальную возможную сумму, которую можно собрать таким способом.

Но это ещё не всё. Назовём путь почти максимальным, если сумма собранных чисел отличается от максимальной суммы не более, чем на K (0<=K<=100).  Конечно, речь идёт о путях из левого верхнего угла в правый нижний с шагами вправо или вниз. Требуется определить количество почти максимальных путей. Их может быть довольно много, поэтому надо выводить не само количество почти максимальных путей, а остаток от деления этого количества на 20102010.

Входные данные. В первой строке входного файла находятся три натуральных числа: N (2<=N<=300), M (2<=M<=300) и K(0<=K<=100). Каждая из следующих N строк содержит M натуральных чисел, не превосходящих 1000 – содержимое таблицы. Соседние числа в строке раделяются одним пробелом.

Выходные данные. В первой строке выходного файла должно находиться одно натуральное число – наибольшая сумма, которую можно набрать, двигаясь по правилам из левого верхнего угла в правый нижний. Во второй (и последней) строке выходного файла должно находиться одно целое число – остаток от деления количества почти максимальных путей на 20102010.

Примеры 	NEARMAX.IN	   	NEARMAX.OUT		
2 3 0			4
1 1 1			1
1 0 1				
					
NEARMAX.IN	   	NEARMAX.OUT		
5 5 2    		9
1 1 1 1 1		54
1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1