#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353, MX = 3003;
char s[MX], t[MX];
long long dp[MX][MX], n, m;
long long f(long long i, long long j) {
  long long &ret = dp[i][j];
  if (i == j) ret = (i > m || t[i] == s[1] ? 2 : 0);
  char c = s[j - i + 1];
  if (ret != -1) return ret;
  ret = 0;
  if (i > m || t[i] == c) {
    ret += f(i + 1, j);
  }
  if (j > m || t[j] == c) {
    ret += f(i, j - 1);
  }
  ret %= MOD;
  return ret;
}
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> (s + 1) >> (t + 1);
  memset(dp, -1, sizeof dp);
  n = strlen(s + 1), m = strlen(t + 1);
  long long ans = 0;
  for (long long i = m; i <= n; i++) ans += f(1, i);
  cout << (ans % MOD);
}
