Given are two strings s and t consisting of lowercase English letters. Determine if there exists an integer i satisfying the following condition, and find the minimum such i if it exists.

* Let s' be the concatenation of 10^{100} copies of s. t is a subsequence of the string {s'}_1{s'}_2\ldots{s'}_i (the first i characters in s').

Constraints

* 1 \leq |s| \leq 10^5
* 1 \leq |t| \leq 10^5
* s and t consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:


s
t


Output

If there exists an integer i satisfying the following condition, print the minimum such i; otherwise, print `-1`.

Examples

Input

contest
son


Output

10


Input

contest
programming


Output

-1


Input

contest
sentence


Output

33
#include "bits/stdc++.h"

using namespace std;




int  main()
{
	string S;
	string T;
	cin >> S;
	cin >> T;

	for (int i = 0; i < T.length(); i++) {
		char c = T[i];
		if (S.find_first_of(c) == string::npos) {
			cout << -1;
			return 0;
		}
	}
	long long p = 0;
	long long i = 0;
	string SS = S;
	while(true){
		if (i >= T.length()) {
			break;
		}
		char c = T[i];
		//cerr <<c << " : " << SS << " : " << p << endl;
		auto pos = SS.find_first_of(c);
		if (pos == string::npos) {
			p += SS.length();
			SS = S;
		}
		else {
			p += (pos+1);
			SS = SS.substr(pos + 1);
			i++;
		}
	}
	cout << p;
	return 0;
}
