#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (a == 0)
    return (b);
  else
    return (gcd(b % a, a));
}
long long int fastpow(long long int a, long long int n, long long int temp) {
  if (n == 0) return (1);
  if (n == 1) return ((a * temp) % 1000000007);
  if (n & 1) temp = (temp * a) % 1000000007;
  return (fastpow((a * a) % 1000000007, n / 2, temp));
}
char dum;
vector<vector<int> > v;
vector<int> temp;
int main() {
  int n, m, cum_sum;
  char a;
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    v.push_back(temp);
  }
  for (int i = 0; i < n; i++) {
    cum_sum = 0;
    for (int j = 0; j < m; j++) {
      cin >> a;
      if (a == '0')
        cum_sum = 0;
      else
        cum_sum++;
      v[j].push_back(cum_sum);
    }
  }
  for (int j = 0; j < m; j++) {
    sort(v[j].begin(), v[j].end());
  }
  int ans = 0;
  for (int j = 0; j < m; j++) {
    for (int k = 0; k < v[j].size(); k++) {
      ans = max(ans, v[j][k] * ((int)v[j].size() - k));
    }
  }
  cout << ans << endl;
  return 0;
}
