#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<long long> v, z;
  long long n, i, j, k;
  cin >> n;
  while (n != 0) {
    v.push_back(n % 10);
    n = n / 10;
  }
  long long p = 1;
  for (i = 0; i < v.size(); i++) {
    p = p * v[i];
  }
  z.push_back(p);
  for (i = 0; i < v.size() - 1; i++) {
    if (v[i] != 9) {
      for (j = i + 1; j < v.size(); j++) {
        if (v[j] > 0) {
          v[j]--;
          break;
        }
      }
      if (j != v.size()) {
        for (k = i; k < j; k++) {
          v[k] = 9;
        }
      }
      p = 1;
      for (k = 0; k < v.size() - 1; k++) {
        p = p * v[k];
      }
      if (v[v.size() - 1] != 0) p = p * v[v.size() - 1];
      z.push_back(p);
    }
  }
  long long max = 0;
  for (i = 0; i < z.size(); i++) {
    if (z[i] > max) max = z[i];
  }
  cout << max;
}
