#include <bits/stdc++.h>
using namespace std;
string s, t;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  cin >> s >> t;
  long long int tsz = t.size(), ssz = s.size();
  vector<long long int> suf(tsz), pre(tsz);
  long long int tcou = 0, scou = 0;
  while (tcou != tsz) {
    if (t[tcou] == s[scou]) {
      pre[tcou] = scou;
      scou++;
      tcou++;
    } else
      scou++;
  }
  tcou = tsz - 1;
  scou = ssz - 1;
  while (tcou != -1) {
    if (t[tcou] == s[scou]) {
      suf[tcou] = scou;
      scou--;
      tcou--;
    } else
      scou--;
  }
  long long int ans = 0;
  ans = max(suf[0], ssz - 1 - pre[tsz - 1]);
  for (long long int i = 0; i <= tsz - 2; i++) {
    long long int temp = suf[i + 1] - pre[i] - 1;
    ans = max(ans, temp);
  }
  cout << ans << '\n';
  return 0;
}
