#include <bits/stdc++.h>
using namespace std;
int dp[105][10005], g[105][10005], cnt[101];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  set<int> s;
  dp[0][0] = 1;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    s.insert(x);
    cnt[x]++;
    for (int j = i; j >= 0; j--) {
      for (int k = 0; k < 10005; k++) {
        if (dp[j][k]) {
          dp[j + 1][k + x] = 1;
          if ((k + x) % (j + 1) == 0 && x * (j + 1) != x + k) {
            g[j + 1][k + x] = 1;
          }
        }
      }
    }
  }
  if (s.size() <= 2) {
    cout << n << endl;
    return 0;
  }
  int rez = 0;
  for (int i = 0; i < 101; i++) {
    for (int j = 0; j <= cnt[i]; j++) {
      if (g[j][j * i]) break;
      rez = max(rez, j);
    }
  }
  cout << rez;
}
