func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 2e6 + 5, inf = 1e9 + 7;   long long n, k, cumm[N], m[26];   set<pair<long long, long long> > st;   string s;   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     long long i, j, a, b, ans = 1;     cin >> n >> k >> s;     s =  #  + s;     for (i = 0; i < k; i++) st.insert(pair<long long, long long>(m[i], i));     for (i = 1; i < n + s.size(); i++) {       if (i < s.size())         a = s[i] -  a ;       else         a = st.begin()->second;       st.erase(st.find(pair<long long, long long>(m[a], a)));       if (m[a])         cumm[i] = cumm[i - 1] - cumm[m[a] - 1];       else         cumm[i] = cumm[i - 1] + 1;       m[a] = i;       st.insert(pair<long long, long long>(m[a], a));       cumm[i] = (cumm[i] % inf + cumm[i - 1] + inf) % inf;     }     cout << (cumm[i - 1] + 1) % inf;   }   