#include char s[100005], t[1003]; long long int dp[1003]; int main() { scanf("%s%s", s, t); long long int n, m; for (n = 0; s[n] != '\0'; n++); for (m = 0; t[m] != '\0'; m++); const long long int p = 998244353; long long int i, j; for (i = 0; i <= m; i++) dp[i] = 0; dp[0] = 1; for (i = 0; i < n; i++) for (j = m - 1; j >= 0; j--) if (s[i] == t[j]) dp[j + 1] = (dp[j + 1] + dp[j]) % p; long long int ans = dp[m]; for (i = 0; i < n - m; i++) ans = ans * 2 % p; printf("%lld\n", ans); return 0; }