#include #include #include using namespace std; using vi=vector; int solve_r(vi& a, vi& b, int d) { if(d>=a.size()) { return 1; } for(int i=0;ib[i]) continue; b[i]-=a[d]; if(solve_r(a, b, d+1)) return 1; b[i]+=a[d]; } return 0; } int solve(vi& a, vi b) { vi c; for(int i=1;i<=b.size();i++) { c=b; c.resize(i); if(solve_r(a, c, 0)) return i; } return -1; } int main(void) { int n, m, i; vi a, b; while(scanf("%d", &n)==1) { a.resize(n); for(i=0;i()); sort(b.begin(), b.end(), greater()); printf("%d\n", solve(a, b)); } return 0; }