#include <bits/stdc++.h>
using namespace std;
// A集合中尽量取最大的数!
// B集合中尽量取最小的数!
int main(){
int n;
cin >> n;
vector<long long> arr(n);
for(int i = 0; i < n; i++){
cin >> arr[i];
}
sort(arr.begin(),arr.end());
vector<long long> pre_sum{0},suffix_sum{0};
for(int i = 0; i < n; i++){
pre_sum.push_back(pre_sum.back() + arr[i]);
}
for(int i = n-1; i >= 0; i--){
suffix_sum.push_back(suffix_sum.back() + arr[i]);
}
// 枚举K
int ans = -1;
for(int k = 1; 2*k+1 <= n; k++){
long long blue_sum = pre_sum[k+1];
long long red_sum = suffix_sum[k];
if(blue_sum < red_sum){
ans = k;
break;
}
}
cout << ans << endl;
return 0;
}