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
import decimal,math
from collections import Counter,defaultdict
from fractions import gcd
from bisect import bisect_right,bisect_left
decimal.getcontext().prec = 10
s=raw_input()
t=raw_input()
index={}
for i in range(len(s)):
	if(index.get(s[i])):
		index[s[i]].append(i)
	else:
		index[s[i]]=[i]	
flag=0
for i in t:
	if(index.get(i)):
		continue
	else:
		flag=1
		break
if(flag==1):
	print -1
	exit()		
ans=len(s)
co=0
bad=0
arrr = [index[t[0]][0]]
# print index
# print index['t']
# print bisect_right(index['t'],3)
for i in range(1,len(t)):
	o = index[t[i]]
	l = bisect_right(o,arrr[-1])
	# print l,o
	if(l>=len(o)):
		arrr.append(o[0])
		# print 'ok'
	else:
		arrr.append(o[l])	
# print arrr		
for i in range(1,len(arrr)):
	if(arrr[i]<=arrr[i-1]):
		ans=ans+len(s)
print ans-(len(s)-arrr[-1]-1)		