eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Need for sum thing

Need for sum thing

Пусть есть треугольная таблица из \textbf{N} строк. Первая строка таблицы состоит из одного элемента, вторая строка --- из трёх, третья --- из пяти и т.д. \textbf{i}-тая строка состоит из \textbf{2i-1} элемента. Средние элементы всех строк образуют один столбец. Таким образом, таблица представляет собой равнобедренный прямоугольный треугольник. В верхнем элементе таблицы находится прямой угол, а в нижней строке --- гипотенуза. \includegraphics{https://static.e-olymp.com/content/e7/e79a2f0f0832d89da0d719dcbc23e6cba2ca48ed.jpg} Каждый элемент таблицы --- некоторая цифра от '\textbf{0}' до '\textbf{9}'. Требуется ответить на \textbf{Q} запросов суммы всех элементов некоторой треугольной области исходной таблицы. Каждый запрос имеет вид: \textbf{r_i, c_i, k_i} Область \textbf{i}-того запроса представляет собой равнобедренный прямоугольный треугольник из \textbf{k_i} строк с вершиной в (\textbf{r_i}, \textbf{c_i}): \includegraphics{https://static.e-olymp.com/content/d2/d29c690651058d429d2c6d3928cb74eda91dcc96.jpg} Первая строка состоит из элемента (\textbf{r_i}, \textbf{c_i}). Вторая строка --- из трёх элементов: (\textbf{r_i+1}, \textbf{c_i}), (\textbf{r_i+1}, \textbf{c_i+1}), (\textbf{r_i+1, c_i+2}), третья из пяти и т.д. Нужно найти сумму всех элементов треугольника из запроса. Поскольку запросов много, они генерируются программно: \textbf{A_1 = 1} \textbf{A_i = (1234567·A_\{i-1\} + 7654321) mod 1000000007}, при\textbf{ 2} ≤ \textbf{ i} ≤ \textbf{Q} \textbf{r_i = A_i mod N + 1} \textbf{c_i = A_i mod (2r_\{i \}- 1) + 1} \textbf{k_i = A_i mod (n - r_\{i \}+ 1) + 1} \InputFile В первой строке \textbf{N} и \textbf{Q} --- количество строк исходного треугольника и количество запросов. Далее в \textbf{N} строках идёт описание таблицы. В \textbf{i}-той из них ровно \textbf{2i-1} цифр --- элементы таблицы (между цифрами нет пробелов). \OutputFile Поскольку запросов много, выведите одно число --- сумму всех ответов на запросы. \textbf{Ограничения} \textbf{1} ≤ \textbf{N} ≤ \textbf{10^3} \textbf{0} ≤ \textbf{Q} ≤ \textbf{5·10^6} \textbf{^\{ \}Пояснение} \includegraphics{https://static.e-olymp.com/content/ae/ae67640ff8f1a37591c312d8fff3cdbeea377d50.jpg} Исходный треугольник: \includegraphics{https://static.e-olymp.com/content/99/992d6869aa0e7230406d58321b6e3e2c837ae1be.jpg} Первый запрос: , сумма \textbf{24}. Второй запрос: \textbf{8}, сумма \textbf{8}. Третий запрос: \textbf{6}, сумма \textbf{6}. Четвертый запрос: \textbf{1}, сумма \textbf{1}. Пятый запрос: \textbf{3}, сумма \textbf{3}.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
3 5
1
234
56789
Выходные данные #1
42