#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
string s, t;
int jmp[100000];
long long sum2[100000];
long long f(int pos) {
  if (pos < 0) return 0;
  return sum2[pos];
}
int main() {
  cin >> s >> t;
  jmp[0] = 0;
  int k = 0;
  for (int i = 1; i < t.size(); i++) {
    while (k > 0 && t[i] != t[k]) k = jmp[k - 1];
    if (t[i] == t[k]) k++;
    jmp[i] = k;
  }
  long long dp = 0, sum = 0;
  k = 0;
  for (int i = 0; i < s.size(); i++) {
    while (k > 0 && s[i] != t[k]) k = jmp[k - 1];
    if (s[i] == t[k]) k++;
    if (k == t.size()) {
      k = jmp[k - 1];
      dp = ((i - t.size() + 2) + f(i - t.size())) % MOD;
    }
    sum = (sum + dp) % MOD;
    sum2[i] = (f(i - 1) + sum) % MOD;
  }
  cout << sum << endl;
  return 0;
}
