给定一个整数 k,对于一个 01 字符串(01字符串指的是:该字符串仅能由字符 '1' 或 '0' 构成),如果其满足如下条件,则我们称这个字符串为一个”k串”:
A.字符串中存在长度为 k 的子串,该子串中的连续 k 个字符均为 '1'。
B.选择将字符串中连续的k个字符'1'均修改为 '0',存在一种方案使字符串经过若干轮操作之后所有的 n 个字符均变为 '0'。
C.特别的,如果这个字符串原本只有'0',它属于任何k串。
如"1111"是一个长度为4的2串,这个字符串存在连续2个'1',经过2次B的操作,n个字符均变为'0'。
如"111"不是长度为3的2串,虽然这个字符串存在连续2个'1',但没有办法通过B操作让n个字符均变为'0'。
求:长度为 n 的k串有多少个?由于好串数量可能很大,所以你只需要输出长度为 n 的 k串个数除以 10007 的余数即可。