Polycarp has n friends, the i-th of his friends has a_i candies. Polycarp's friends do not like when they have different numbers of candies. In other words they want all a_i to be the same. To solve this, Polycarp performs the following set of actions exactly once: 

  * Polycarp chooses k (0 ≤ k ≤ n) arbitrary friends (let's say he chooses friends with indices i_1, i_2, …, i_k); 
  * Polycarp distributes their a_{i_1} + a_{i_2} + … + a_{i_k} candies among all n friends. During distribution for each of a_{i_1} + a_{i_2} + … + a_{i_k} candies he chooses new owner. That can be any of n friends. Note, that any candy can be given to the person, who has owned that candy before the distribution process. 



Note that the number k is not fixed in advance and can be arbitrary. Your task is to find the minimum value of k.

For example, if n=4 and a=[4, 5, 2, 5], then Polycarp could make the following distribution of the candies: 

  * Polycarp chooses k=2 friends with indices i=[2, 4] and distributes a_2 + a_4 = 10 candies to make a=[4, 4, 4, 4] (two candies go to person 3). 



Note that in this example Polycarp cannot choose k=1 friend so that he can redistribute candies so that in the end all a_i are equal.

For the data n and a, determine the minimum value k. With this value k, Polycarp should be able to select k friends and redistribute their candies so that everyone will end up with the same number of candies.

Input

The first line contains one integer t (1 ≤ t ≤ 10^4). Then t test cases follow.

The first line of each test case contains one integer n (1 ≤ n ≤ 2 ⋅ 10^5).

The second line contains n integers a_1, a_2, …, a_n (0 ≤ a_i ≤ 10^4).

It is guaranteed that the sum of n over all test cases does not exceed 2 ⋅ 10^5.

Output

For each test case output: 

  * the minimum value of k, such that Polycarp can choose exactly k friends so that he can redistribute the candies in the desired way; 
  * "-1" if no such value k exists. 

Example

Input


5
4
4 5 2 5
2
0 4
5
10 8 5 1 4
1
10000
7
1 1 1 1 1 1 1


Output


2
1
-1
0
0
#include<bits/stdc++.h>
using namespace std;
//#define     int              long long 
typedef     long double      ld;
typedef     pair<int,int>    pii;
typedef     vector<int>      vi;
#define     debug(x)         cout<< '>'<<#x<<" : "<<x<<"\n";
#define     debug2(x,y)      cout<< '>'<<#x<<" : "<<x<<" | "; cout<< '>'<<#y<<" : "<<y<<"\n";
#define     debug3(x,y,z)    cout<< '>'<<#x<<" : "<<x<<" | "; cout<< '>'<<#y<<" : "<<y<<" | ";cout<< '>'<<#z<<" : "<<z<<"\n";
#define     rep(i,a,b)       for(int i=a;i < b;i++)
#define     umap             unordered_map
#define     uset             unordered_set
#define     lb               lower_bound
#define     ub               upper_bound
#define     mp               make_pair
#define     in               insert
#define     ss                second
#define     ff                first
#define     sz(x)            (int)((x).size())
#define     pb               push_back
#define     mem1(a)          memset(a,-1,sizeof(a))
#define     mem0(a)          memset(a,0,sizeof(a))
#define     FastIO           ios_base::sync_with_stdio(false);cin.tie(NULL)
#define     here             cout<<"I'm here\n";
#define     ordered_set      tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update>
#define     all(x)           (x).begin(),(x).end()
#define     setcount(x)      __builtin_popcountll(x)
 
int const mod= 998244353;
//int const inf=2e18;
 
inline int add(int a,int b) { return (a%mod + b%mod + mod)%mod; }
inline int mul(int a,int b) { return (a%mod * b%mod + mod)%mod; }
inline int sub(int a,int b) { return (a%mod - b%mod + mod)%mod; }
 
int gcd(int a,int b){ if (b == 0) return a; return gcd(b, a % b); }
int modexp(int x, int n){ if(n==0){ return 1;} else if(n&1){ return (modexp((x*x)%mod, n/2)%mod * x%mod)%mod; } else{ return (modexp((x*x)%mod, n/2)%mod);} }
int modinv(int n){ return modexp(n,mod-2); }
 
template<class T> void dispvector(vector<T> v){ for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout << "\n"; }
void solve()
{
    long long int n;
    cin>>n;
    int k=0;
    bool t1 = true;
    vector<long long int>p(n);
    rep(i,0,n)
    cin>>p[i];
    long long int sum = accumulate(p.begin(),p.end(),0);
    if(sum%n!=0)
    t1 = false;
    else
    {
    //sort(p.begin(),p.end,greater<long long int>);
    rep(i,0,n)
    {
        if(p[i]>sum/n)
            k++;
    }
    }
    if(t1==true)
    cout<<k<<endl;
    else
    cout<<-1<<endl;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    solve();
}