{"code":"fibodistribute","name":"Dãy Fibonacci","description":"Cho dãy $a$ gồm $n$ phần tử được đánh chỉ số từ $1$ đến $n$. Hãy đếm số cách chia dãy $a$ thành các dãy con gồm các phần tử liên tiếp sao cho tổng của mỗi dãy con là một số [Fibonacci](https://en.wikipedia.org/wiki/Fibonacci_number).\r\n\r\n#### Input\r\n - Dòng đầu tiên chứa số nguyên $n$ ($1 \\leq n \\leq 10^5$).\r\n - Dòng tiếp theo chứa $n$ số nguyên $a_1, a_2, \\ldots, a_n$ ($1 \\leq a_i \\leq 10^9$).\r\n\r\n#### Output\r\n- Một dòng duy nhất chứa một số nguyên là phần dư của số cách chia sau khi chia cho $10^9 + 7$.\r\n\r\n#### Scoring \r\n - Subtask $1$ ($30\\%$ số điểm): $n \\leq 10$.\r\n - Subtask $2$ ($30\\%$ số điểm): $n \\leq 10^3$.\r\n - Subtask $3$ ($40\\%$ số điểm): Không có ràng buộc gì thêm.\r\n\r\n#### Example \r\n\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample \r\n        5\r\n        2 5 3 1 2\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        5\r\n        ```\r\n    ??? warning \"Note\"\r\n        Có $5$ cách chia là:\r\n        - $[2], [5], [3], [1], [2]$\r\n        - $[2], [5], [3], [1, 2]$\r\n        - $[2], [5, 3], [1], [2]$\r\n        - $[2], [5, 3], [1, 2]$\r\n        - $[2, 5, 3, 1, 2]$","points":1600.0,"partial":true,"time_limit":2.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}