#include <bits/stdc++.h>
using namespace std;
string a, b;
int l, i, j;
char c[2000005], d[2000005];
int pr[2000005], z[2000005];
int I, J, len, R, L;
int main() {
  getline(cin, a);
  getline(cin, b);
  l = int((a).size());
  if (l != int((b).size())) {
    cout << "-1 -1" << endl;
    return 0;
  }
  for (i = 0; i <= int((a).size()) - 1; i++) c[l - i - 1] = a[i];
  c[l] = '\0';
  for (i = l + 1; i <= 2 * l; i++) c[i] = b[i - l - 1];
  for (i = 0; i <= int((a).size()) - 1; i++) d[i] = b[i];
  d[l] = '\0';
  for (i = l + 1; i <= 2 * l; i++) d[i] = a[i - l - 1];
  pr[0] = 0;
  for (i = 1; i <= 2 * l; i++) {
    j = pr[i - 1];
    while (j && c[j] != c[i]) j = pr[j - 1];
    if (c[i] == c[j]) j++;
    pr[i] = j;
  }
  L = 0;
  R = 0;
  z[0] = 0;
  for (i = 1; i <= 2 * l; i++) {
    z[i] = 0;
    if (R >= i) z[i] = min(z[i - L], R - i + 1);
    while (i + z[i] <= 2 * l && d[i + z[i]] == d[z[i]]) z[i]++;
    if (i + z[i] - 1 > R) {
      L = i;
      R = i + z[i] - 1;
    }
  }
  I = -1;
  J = -1;
  for (i = 0; i <= l - 1; i++) {
    if (a[i] != b[l - i - 1]) break;
    int len = pr[2 * l - i - 1];
    if (z[l + i + 2] >= l - i - len - 1 && l - len < l) {
      I = i;
      J = l - len;
    }
  }
  cout << I << " " << J << endl;
}
