#include<bits/stdc++.h>
using namespace std;
string s,t;
long long x[100],ans,a;
vector<int> v[100];
int main(){
	cin>>s>>t;a=s.size();
	for (int i=0;i<s.size();i++) x[s[i]-'a']++;
	for (int i=0;i<t.size();i++)
		if (x[t[i]-'a']==0){
			cout<<-1<<endl;
			return 0;
		}
	for (int i=0;i<s.size();i++) v[s[i]-'a'].push_back(i);
	int n=-1;
	for (int i=0;i<t.size();i++){
		auto b=upper_bound(v[t[i]-'a'].begin(),v[t[i]-'a'].end(),n);
		if (b==v[t[i]-'a'].end()){
			ans++;
			b=v[t[i]-'a'].begin();
		}
		n=*b;
	}
	cout<<ans*a+(long long)n+1<<endl;
	return 0;
}