PIBO2  Fibonacci vs Polynomial (HARD)
Define a sequence Pib(n) as following
 Pib(0) = 1
 Pib(1) = 1
 otherwise, Pib(n) = Pib(n1) + Pib(n2) + P(n)
Here P is a polynomial.
Given n and P, find Pib(n) modulo 1,111,111,111.
Maybe you should solve PIBO before this task, it has lower constraints.
Input
First line of input contains two integer n and d (0 ≤ n ≤ 10^{9}, 0 ≤ d ≤ 10000), d is the degree of polynomial.
The second line contains d+1 integers c_{0},c_{1} … c_{d}, represent the coefficient of the polynomial (Thus P(x) can be written as Σc_{i}x^{i}). 0 ≤ c_{i} < 1,111,111,111 and c_{d} ≠ 0 unless d = 0.
Output
A single integer represents the answer.
Example
Input: 10 0 0 Output: 89 Input: 10 0 1 Output: 177 Input: 100 1 1 1 Output: 343742333
hide comments
eugenio:
20141118 19:39:03
I've learnt so many things to tackle this one (even though I haven't used all of them)... Beautiful problem :) Last edit: 20141118 19:40:07 

(Tjandra Satria Gunawan)(æ›¾æ¯…æ˜†):
20141113 13:25:55
Last Position! :p


Federico LebrÃ³n:
20130527 21:48:38
Hrm, this seems pretty hard. I thought with a 0.01s runtime in PIBO and O(d) memory it'd be good enough, but apparently it's not :s


Francky:
20130304 19:21:22
It was great to solve this hard edition, I did my best with O(d) memory print. ;)

Added by:  Michael Kharitonov 
Date:  20130228 
Time limit:  0.100s10s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 