You are given a string S of length N, consisting of uppercase letters, and a small nonnegative integer K.
Please compute the number of strings T of length N, consisting of only uppercase letters, such that the longest common subsequence of S and T has length at least N−K. As the number could be large, print the number of such strings modulo 109+7.
A string S=s_1s_2…s_n is a subsequence of a string T=t_1t_2…t_m if there exists an increasing sequence of indices 1≤i_1<i_2< …<i_n≤m such that s_x=t_i_x for all 1≤x≤n.
The first line of the input contains the length-N string S (1≤∣S∣≤50,000). All characters of S are uppercase letters.
The next line of the input contains the single integer K (0≤K≤3).
Print the number of such strings modulo 109+7.