#include<bits/stdc++.h>
using namespace std;
#define LL long long int
#define INF 1000000007
int dp[2000][2000];
int main(void)
{
	string total,jumon;
	int i,j,k;
	cin>>total>>jumon;
	for(i=0;i<total.size();i++) {
		for(j=0;j<=jumon.size();j++) {
			dp[i][j]=0;
		}
	}
	dp[0][0]=1;
	for(i=0;i<total.size();i++) {
		for(j=0;j<=jumon.size();j++) {
		  dp[i+1][j]=(dp[i+1][j]+dp[i][j])%INF;
		  if(j!=jumon.size()&&total[i]==jumon[j]) dp[i+1][j+1]=(dp[i+1][j+1]+dp[i][j])%INF;
		}
	}
	cout<<dp[total.size()][jumon.size()]<<endl;
}