#include <bits/stdc++.h>
using namespace std;
void file() {}
const long long nax = 2e5 + 1, mod = 1e9 + 7;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  string s, t;
  cin >> s >> t;
  long long n = s.size(), m = t.size();
  vector<vector<long long> > v(26);
  for (long long i = 0; i < n; i++) {
    v[s[i] - 'a'].push_back(i + 1);
  }
  long long prev = 0;
  long long ans = 0;
  for (auto it : t) {
    if (v[it - 'a'].empty()) {
      cout << -1;
      return 0;
    } else {
      auto ii = upper_bound(v[it - 'a'].begin(), v[it - 'a'].end(), prev);
      if (ii == v[it - 'a'].end()) {
        ans++;
        prev = 0;
        auto ii = upper_bound(v[it - 'a'].begin(), v[it - 'a'].end(), prev);
        prev = *ii;
      } else {
        prev = *ii;
      }
    }
  }
  cout << ans * n + prev;
  return 0;
}
