#include <bits/stdc++.h>
using namespace std;
const int N = 3007;
const int M = 998244353;
int n, m, dp[N][N];
string s, t;
bool matches(int i, char c) {
  if (i > m)
    return true;
  else
    return t[i - 1] == c;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> s >> t;
  n = s.size();
  m = t.size();
  for (int i = 1; i <= n + 1; i++) dp[i][i - 1] = 1;
  for (int d = 1; d <= n; d++) {
    char c = s[d - 1];
    for (int i = 1, j = d; j <= n; i++, j++) {
      if (matches(i, c)) {
        dp[i][j] = (dp[i][j] + dp[i + 1][j]) % M;
      }
      if (matches(j, c)) {
        dp[i][j] = (dp[i][j] + dp[i][j - 1]) % M;
      }
    }
  }
  int ans = 0;
  for (int i = m; i <= n; i++) {
    ans = (ans + dp[1][i]) % M;
  }
  cout << ans << "\n";
  return 0;
}
