#include <bits/stdc++.h>
int main(void) {
  int n, *a, i, j, alex, sum, temp;
  scanf("%d", &n);
  a = (int*)malloc(n * sizeof(int));
  for (i = sum = alex = 0; i < n; i++) {
    scanf("%d", (a + i));
    sum += *(a + i);
  }
  for (i = 0; i < n; i++) {
    for (j = i + 1; j < n; j++) {
      if (*(a + j) < *(a + i)) {
        temp = *(a + i);
        *(a + i) = *(a + j);
        *(a + j) = temp;
      }
    }
  }
  for (i = n - 1; i >= 0; i--) {
    alex += *(a + i);
    sum -= *(a + i);
    if ((alex > sum) && (i > (n - i))) {
      printf("%d", n - i);
      break;
    } else if ((alex > sum) && (i >= 1)) {
      printf("%d", n - i);
      break;
    } else if ((alex > sum) && (i == 0)) {
      printf("%d", n - i);
      break;
    }
  }
  return 0;
}
