#include #include using namespace std; using mint = atcoder::modint998244353; int main(){ ios::sync_with_stdio(false); cin.tie(0); string s, t; cin >> s >> t; int n = s.size(), m = t.size(); vector> tb(26); for(int i = 0; i < m; i++) tb[t[i] - 'a'].emplace_back(i); for(int i = 0; i < 26; i++) reverse(tb[i].begin(), tb[i].end()); vector dp(m + 1); dp[0] = mint(2).pow(n - m); for(auto &&c : s){ for(auto &&p : tb[c - 'a']) dp[p + 1] += dp[p]; } cout << dp[m].val() << '\n'; }