#include <bits/stdc++.h>
using namespace std;
long long A, B;
long long res = 0;
char buf[20];
long long rev(long long x) {
  sprintf(buf, "%I64d", x);
  int len = strlen(buf);
  long long y = 0;
  int i;
  for (i = 0; i < len; i++) y = y * 10 + (9 - (buf[i] - '0'));
  return y;
}
void check(long long tmp) {
  long long z = rev(tmp);
  long long x = tmp * z;
  if (x > res) res = x;
}
int main() {
  scanf("%I64d %I64d", &A, &B);
  long long x = 10;
  int i;
  check(A);
  check(B);
  for (i = 0; i < 10; i++) {
    long long target = x / 2;
    if (A <= target && target <= B) check(target);
    target--;
    if (A <= target && target <= B) check(target);
    x *= 10;
  }
  printf("%I64d\n", res);
  return 0;
}
