func_code_string: #include <bits/stdc++.h>   using namespace std;   const int M = 3333;   const int mod = 998244353;   long long dp[M][M];   char s[M], t[M];   int main() {     scanf( %s%s , s + 1, t + 1);     int n = strlen(s + 1), m = strlen(t + 1);     for (int i = 1; i <= n + 1; i++) dp[i][i - 1] = 1;     for (int i = 1; i <= n; i++) {       for (int l = 1, r = l + i - 1; r <= n; l++, r++) {         if (l > m || s[i] == t[l]) dp[l][r] += dp[l + 1][r] % mod;         if (r > m || s[i] == t[r]) dp[l][r] += dp[l][r - 1] % mod;       }     }     long long ans = 0;     for (int i = m; i <= n; i++) ans += dp[1][i], ans %= mod;     printf( %lld n , ans);     return 0;   }   