#include <bits/stdc++.h>
using namespace std;
int a[200007], b[200007];
int main() {
  string s;
  cin >> s;
  string t;
  cin >> t;
  int ans = 0;
  int j = 0;
  for (auto i = (0); i <= ((int)s.size() - 1); ++i) {
    if (s[i] == t[j]) {
      a[j] = i;
      ++j;
    }
    if (j == t.size()) {
      ans = (int)s.size() - 1 - i;
      break;
    }
  }
  j = (int)t.size() - 1;
  for (auto i = ((int)s.size() - 1); i >= (0); --i) {
    if (s[i] == t[j]) {
      b[j] = i;
      --j;
    }
    if (j == -1) {
      ans = max(ans, i);
      break;
    }
  }
  for (auto i = (0); i <= ((int)t.size() - 2); ++i) {
    ans = max(ans, b[i + 1] - a[i] - 1);
  }
  cout << ans << endl;
  return 0;
}
