#include <bits/stdc++.h>
using namespace std;
string p, s, rp;
int alph[256];
vector<pair<int, int> > ans;
int main() {
  cin >> p >> s;
  rp = p;
  p.push_back('#');
  p = '#' + p;
  reverse(s.begin(), s.end());
  for (int i = 0; i < p.size(); i++) alph[p[i]] = 1;
  for (int i = 0; i < s.size(); i++)
    if (!alph[s[i]]) {
      cout << -1;
      return 0;
    }
  while (s.size() > 0) {
    int nl = 0, l, r;
    for (int i = 1; i < p.size(); i++) {
      int w = 0;
      for (int j = s.size() - 1, w = 0; j >= 0; j--, w++)
        if (p[i + w] != s[j]) {
          if (w > nl) {
            nl = w;
            l = i;
            r = i + w - 1;
          }
          break;
        } else if (j == 0) {
          w++;
          if (w > nl) {
            nl = w;
            l = i;
            r = i + w - 1;
          }
        }
    }
    for (int i = p.size() - 2; i > 0; i--) {
      int w = 0;
      for (int j = s.size() - 1; j >= 0 && i - w >= 0; j--, w++)
        if (p[i - w] != s[j]) {
          if (w > nl) {
            nl = w;
            l = i;
            r = i - w + 1;
          }
          break;
        } else if (j == 0) {
          w++;
          if (w > nl) {
            nl = w;
            l = i;
            r = i - w + 1;
          }
        }
    }
    for (int i = 0; i < nl; i++) s.pop_back();
    ans.push_back(make_pair(l, r));
  }
  cout << ans.size() << '\n';
  for (int i = 0; i < ans.size(); i++)
    cout << ans[i].first << ' ' << ans[i].second << '\n';
}
