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
from sys import stdin,stdout
I = lambda : map(int,stdin.readline().split())

alphabet = [chr(x) for x in range(ord('a'), ord('z')+1)]
alnum = lambda x: ord(x) - ord('a')


def next(i, n):
	return (i+1) % n
def prev(i, n):
	return (i-1+n) % n

def next_arr(ch, a):
	n = len(a)
	i = a.find(ch)
	if i == -1:
		return [-1] * n
	ret = [-1] * n
	while ret[prev(i,n)] == -1:
		if a[i] == ch:
			ret[prev(i,n)] = i
		else:
			ret[prev(i,n)] = ret[i]
		i = prev(i,n)
	return ret

a = raw_input()
b = raw_input()
n = len(a)

next_ = [next_arr(alphabet[i], a) for i in range(26)]
ptr = -1
ans = 0
for ch in b:
	old_ptr = ptr
	ptr = next_[alnum(ch)][ptr]
	if ptr == -1:
		print -1
		exit()
	if ptr <= old_ptr:
		ans += n
print ans+ptr+1



