#include <bits/stdc++.h>
using namespace std;
const int N = 3000 + 10, mod = 998244353;
char s[N], t[N];
int f[N][N];
void add(int &x, int y) {
  x += y;
  if (x >= mod) x -= mod;
}
int main() {
  cin >> (s + 1) >> (t + 1);
  int n = strlen(s + 1), m = strlen(t + 1);
  for (int i = 1; i <= n + 1; i++) f[i][i - 1] = 1;
  for (int i = n; i >= 1; i--) {
    for (int j = i; j <= n; j++) {
      if (j > m || s[j - i + 1] == t[j]) add(f[i][j], f[i][j - 1]);
      if (i > m || s[j - i + 1] == t[i]) add(f[i][j], f[i + 1][j]);
    }
  }
  int ans = 0;
  for (int i = m; i <= n; i++) add(ans, f[1][i]);
  cout << ans << endl;
}
