func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = (int)1e9 + 7;   char s[5010], t[5010];   int n, m;   int d[2][5010], ans, cs;   int main() {     int i, j;     gets(s + 1);     n = strlen(s + 1);     gets(t + 1);     m = strlen(t + 1);     d[1][m + 1] = 1;     for (i = n; i >= 1; i--) {       cs = 0;       for (j = m + 1; j >= 1; j--) {         if (s[i] == t[j])           d[0][j] = cs;         else           d[0][j] = 0;         cs += d[1][j];         cs %= mod;       }       for (j = 1; j <= m; j++) {         ans += d[0][j];         ans %= mod;       }       for (j = 1; j <= m; j++) d[1][j] = d[0][j];     }     printf( %d , ans);     return 0;   }   