/** Jai Shree Ram **/
/** ssavi. ICT-4 CoU **/
#include<bits/stdc++.h>
#define DIST(x1,x2, y1, y2) (((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2)))
#define DIST3D(x1,x2, y1, y2, z1, z2) (((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2)) + ((z1-z2)*(z1-z2)))
#define CLR(a) a.clear()
#define VCLR(a, n) for(int i=0; i<=n+3; i++) a[i].clear()
#define SIZE(a) a.size()
#define ERASE(a, b) memset(a, b, sizeof a)
#define pb push_back
#define LL long long
#define ULL unsigned long long
#define DBG cout<<"I Am Here"<<endl
#define DBGA(a) cout<<a<<endl
#define DBGI(b,a) cout<<b<<' '<<a<<endl
#define DBGL(i,s,e,b) or(int i=s; i<=e; i++) cout<<b<<endl
#define INF 1e9
#define INV 1e-6
#define sc(a) scanf("%I64d", &a)
#define pr(a) printf("%I64d\n", a)
#define si(a) scanf("%d", &a)
#define pii pair<int,int>
#define PII pair<LL,LL>
#define MAX 600005
#define CASE(i) printf("Case %d:", i);
#define PI acos(-1)
#define piis pair<int, string>
#define fast1 ios_base::sync_with_stdio(false);
#define fast2 cin.tie(0)
#define CHECK_BIT(var,pos) ((var & (1 << pos)) == (1 << pos))
#define LOOP(i, b, n) for(i=b; i<=n; i++)
#define nl puts("")
using namespace std;
/** ---------------------------------------------- **/
/** Header And Defintions Ends Here. **/
/** ---------------------------------------------- **/
const double GRS = (1 + sqrt(5))/2;
LL power(int X, int P)
{
LL ans = 1;
for(int i=1; i<=P; i++){
ans = ans * (LL)X;
}
return ans;
}
LL ABS(LL A, LL B)
{
LL ret = A - B;
if(ret<0) return -ret;
return ret;
}
LL MOD = 1000000007;
const LL BIGMAX = power(2,63) - 1;
LL ADD(LL X, LL Y)
{
if(X+Y<0)
return (X - MOD) + Y;
else if(X+Y>=MOD)
return X+Y-MOD;
else
return X+Y;
}
LL prod(LL X, LL Y) // CUSTOM PRODUCT FUNCTION FOR BIG NUMBER MULTIPLICATION
{
if(Y==0 || X<=(BIGMAX/Y)) return (X*Y)%MOD;
LL result = 0;
if(X>Y) swap(X,Y);
while(X>0){
if(X&1!=0){
result = ADD(result, Y);
}
X>>=1;
Y -= MOD - Y;
if(Y<0)
Y = Y + MOD;
}
return result;
}
LL bigmod(LL a, LL b){
LL x = 1, y = a%MOD;
while(b > 0) {
if(b%2 == 1) {
x = prod(x,y);
}
y = prod(y,y);
b /= (LL)2;
}
return x;
}
LL MODINVERSE(LL a){
return bigmod(a, MOD-2);
}
LL ncrdp[900][1000];
LL NCR(int n, int r)
{
if(r==1) return n;
else if(n==r) return 1;
else
{
if(ncrdp[n][r]!=-1) return ncrdp[n][r];
else
{
ncrdp[n][r]=NCR(n-1,r) + NCR(n-1,r-1);
return ncrdp[n][r];
}
}
}
const int MAXN = 1000005;
int status[(MAXN/32)+10];
vector<int>primelist;
bool check(int n, int pos) { return (bool)(n & (1<<pos)); }
int SET(int n, int pos){ return n=n|(1<<pos);}
void sieve()
{
int sqrtN=int (sqrt(MAXN));
status[1>>5]=SET(status[1>>5],1&31);
for(int j=4; j<=MAXN; j=j+2)
status[j>>5]=SET(status[j>>5],j&31);
for(int i=3; i<=sqrtN; i=i+2)
{
if(check(status[i>>5],i&31)==0)
{
for(int j=i*i; j<=MAXN; j= j + (i<<1))
{
status[j>>5]=SET(status[j>>5],j&31);
}
}
}
primelist.push_back(2);
for(int i=3; i<=MAXN; i=i+2)
{
if(check(status[i>>5],i&31)==0) {
primelist.push_back(i);
}
}
}
/**----------------------------------------------------------------------------**/
/** Template Ends Here. Main Function And User Defined Functions Starts Here. **/
/**--------------------------------------------------------------------------**/
int cnt[1005];
int arr[1005];
int main()
{
int test, caseno;
scanf("%d", &test);
LOOP(caseno, 1, test)
{
memset(cnt, 0, sizeof cnt);
int n, x, m = 1;
scanf("%d", &n);
for(int i=1; i<=n; i++){
scanf("%d", &x);
if(cnt[x]==0){
arr[m++] = x;
}
cnt[x]++;
}
int tot = 0;
for(int i=1; i<m; i++)
{
for(int j=i; j<m; j++)
{
int dr = tot;
if(i==j){
if(cnt[arr[i]]>1){
int a = arr[i] + arr[j];
if(cnt[a]>0){
if(a==arr[i] && a==arr[j]){
if(cnt[a]>2) tot++;
}
else if(a==arr[i]){
if(cnt[a]>1) tot++;
}
else if(a==arr[j]){
if(cnt[a]>1) tot++;
}
else{
tot++;
}
// if(tot!=dr)
// cout<<arr[i]<<' '<<arr[j]<<' '<<a<<endl;
}
}
}
else{
int a = arr[i] + arr[j];
if(cnt[a]>0){
if(a==arr[i] && a==arr[j]){
if(cnt[a]>2) tot++;
}
else if(a==arr[i]){
if(cnt[a]>1) tot++;
}
else if(a==arr[j]){
if(cnt[a]>1) tot++;
}
else{
tot++;
}
// if(tot!=dr)
// cout<<arr[i]<<' '<<arr[j]<<' '<<a<<endl;
}
}
}
}
CASE(caseno);
printf(" %d\n", tot);
}
}
LyoqIEphaSBTaHJlZSBSYW0gKiovCi8qKiBzc2F2aS4gSUNULTQgQ29VICoqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBESVNUKHgxLHgyLCB5MSwgeTIpICgoKHgxLXgyKSooeDEteDIpKSsoKHkxLXkyKSooeTEteTIpKSkKI2RlZmluZSBESVNUM0QoeDEseDIsIHkxLCB5MiwgejEsIHoyKSAoKCh4MS14MikqKHgxLXgyKSkrKCh5MS15MikqKHkxLXkyKSkgKyAoKHoxLXoyKSooejEtejIpKSkKI2RlZmluZSBDTFIoYSkgYS5jbGVhcigpCiNkZWZpbmUgVkNMUihhLCBuKSBmb3IoaW50IGk9MDsgaTw9biszOyBpKyspIGFbaV0uY2xlYXIoKQojZGVmaW5lIFNJWkUoYSkgYS5zaXplKCkKI2RlZmluZSBFUkFTRShhLCBiKSBtZW1zZXQoYSwgYiwgc2l6ZW9mIGEpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgTEwgbG9uZyBsb25nCiNkZWZpbmUgVUxMIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIERCRyBjb3V0PDwiSSBBbSBIZXJlIjw8ZW5kbAojZGVmaW5lIERCR0EoYSkgY291dDw8YTw8ZW5kbAojZGVmaW5lIERCR0koYixhKSBjb3V0PDxiPDwnICc8PGE8PGVuZGwKI2RlZmluZSBEQkdMKGkscyxlLGIpIG9yKGludCBpPXM7IGk8PWU7IGkrKykgY291dDw8Yjw8ZW5kbAojZGVmaW5lIElORiAxZTkKI2RlZmluZSBJTlYgMWUtNgojZGVmaW5lIHNjKGEpIHNjYW5mKCIlSTY0ZCIsICZhKQojZGVmaW5lIHByKGEpIHByaW50ZigiJUk2NGRcbiIsIGEpCiNkZWZpbmUgc2koYSkgc2NhbmYoIiVkIiwgJmEpCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBQSUkgcGFpcjxMTCxMTD4KI2RlZmluZSBNQVggNjAwMDA1CiNkZWZpbmUgQ0FTRShpKSBwcmludGYoIkNhc2UgJWQ6IiwgaSk7CiNkZWZpbmUgUEkgYWNvcygtMSkKI2RlZmluZSBwaWlzIHBhaXI8aW50LCBzdHJpbmc+CiNkZWZpbmUgZmFzdDEgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiNkZWZpbmUgZmFzdDIgY2luLnRpZSgwKQojZGVmaW5lIENIRUNLX0JJVCh2YXIscG9zKSAoKHZhciAmICgxIDw8IHBvcykpID09ICgxIDw8IHBvcykpCiNkZWZpbmUgTE9PUChpLCBiLCBuKSBmb3IoaT1iOyBpPD1uOyBpKyspCiNkZWZpbmUgbmwgcHV0cygiIikKCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiovCi8qKiBIZWFkZXIgQW5kIERlZmludGlvbnMgRW5kcyBIZXJlLiAqKi8KLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiovCgpjb25zdCBkb3VibGUgR1JTID0gKDEgKyBzcXJ0KDUpKS8yOwoKTEwgcG93ZXIoaW50IFgsIGludCBQKQp7CiAgICBMTCBhbnMgPSAxOwogICAgZm9yKGludCBpPTE7IGk8PVA7IGkrKyl7CiAgICAgICAgYW5zID0gYW5zICogKExMKVg7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CgpMTCBBQlMoTEwgQSwgTEwgQikKewogICAgTEwgcmV0ID0gQSAtIEI7CiAgICBpZihyZXQ8MCkgcmV0dXJuIC1yZXQ7CiAgICByZXR1cm4gcmV0Owp9CgpMTCBNT0QgPSAxMDAwMDAwMDA3Owpjb25zdCBMTCBCSUdNQVggPSBwb3dlcigyLDYzKSAtIDE7CgpMTCBBREQoTEwgWCwgTEwgWSkKewogICAgaWYoWCtZPDApCiAgICAgICAgcmV0dXJuIChYIC0gTU9EKSArIFk7CiAgICBlbHNlIGlmKFgrWT49TU9EKQogICAgICAgIHJldHVybiBYK1ktTU9EOwogICAgZWxzZQogICAgICAgIHJldHVybiBYK1k7Cn0KCkxMIHByb2QoTEwgWCwgTEwgWSkgLy8gQ1VTVE9NIFBST0RVQ1QgRlVOQ1RJT04gRk9SIEJJRyBOVU1CRVIgTVVMVElQTElDQVRJT04KewogICAgaWYoWT09MCB8fCBYPD0oQklHTUFYL1kpKSByZXR1cm4gKFgqWSklTU9EOwogICAgTEwgcmVzdWx0ID0gMDsKCiAgICBpZihYPlkpIHN3YXAoWCxZKTsKICAgIHdoaWxlKFg+MCl7CiAgICAgICAgaWYoWCYxIT0wKXsKICAgICAgICAgICAgcmVzdWx0ID0gQUREKHJlc3VsdCwgWSk7CiAgICAgICAgfQogICAgICAgIFg+Pj0xOwogICAgICAgIFkgLT0gTU9EIC0gWTsKICAgICAgICBpZihZPDApCiAgICAgICAgICAgIFkgPSBZICsgTU9EOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfQoKTEwgYmlnbW9kKExMIGEsIExMIGIpewogICAgTEwgeCA9IDEsIHkgPSBhJU1PRDsKICAgIHdoaWxlKGIgPiAwKSB7CiAgICAgICAgaWYoYiUyID09IDEpIHsKICAgICAgICAgICAgeCA9IHByb2QoeCx5KTsKICAgICAgICB9CiAgICAgICAgeSA9IHByb2QoeSx5KTsKICAgICAgICBiIC89IChMTCkyOwogICAgfQogICAgcmV0dXJuIHg7Cn0KCkxMIE1PRElOVkVSU0UoTEwgYSl7CiAgICByZXR1cm4gYmlnbW9kKGEsIE1PRC0yKTsKfQoKTEwgbmNyZHBbOTAwXVsxMDAwXTsKTEwgTkNSKGludCBuLCBpbnQgcikKewogICAgaWYocj09MSkgcmV0dXJuIG47CiAgICBlbHNlIGlmKG49PXIpIHJldHVybiAxOwogICAgZWxzZQogICAgewogICAgICAgIGlmKG5jcmRwW25dW3JdIT0tMSkgcmV0dXJuIG5jcmRwW25dW3JdOwogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIG5jcmRwW25dW3JdPU5DUihuLTEscikgKyBOQ1Iobi0xLHItMSk7CiAgICAgICAgICAgIHJldHVybiBuY3JkcFtuXVtyXTsKICAgICAgICB9CiAgICB9Cn0KCmNvbnN0IGludCBNQVhOID0gMTAwMDAwNTsKaW50IHN0YXR1c1soTUFYTi8zMikrMTBdOwp2ZWN0b3I8aW50PnByaW1lbGlzdDsKCmJvb2wgY2hlY2soaW50IG4sIGludCBwb3MpIHsgcmV0dXJuIChib29sKShuICYgKDE8PHBvcykpOyB9CmludCBTRVQoaW50IG4sIGludCBwb3MpeyByZXR1cm4gbj1ufCgxPDxwb3MpO30KCnZvaWQgc2lldmUoKQp7CiAgICBpbnQgc3FydE49aW50IChzcXJ0KE1BWE4pKTsKICAgIHN0YXR1c1sxPj41XT1TRVQoc3RhdHVzWzE+PjVdLDEmMzEpOwogICAgZm9yKGludCBqPTQ7IGo8PU1BWE47IGo9aisyKQogICAgICAgIHN0YXR1c1tqPj41XT1TRVQoc3RhdHVzW2o+PjVdLGomMzEpOwogICAgZm9yKGludCBpPTM7IGk8PXNxcnROOyBpPWkrMikKICAgIHsKICAgICAgICBpZihjaGVjayhzdGF0dXNbaT4+NV0saSYzMSk9PTApCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGo9aSppOyBqPD1NQVhOOyBqPSBqICsgKGk8PDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdGF0dXNbaj4+NV09U0VUKHN0YXR1c1tqPj41XSxqJjMxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW1lbGlzdC5wdXNoX2JhY2soMik7CiAgICBmb3IoaW50IGk9MzsgaTw9TUFYTjsgaT1pKzIpCiAgICB7CiAgICAgICAgaWYoY2hlY2soc3RhdHVzW2k+PjVdLGkmMzEpPT0wKSB7CiAgICAgICAgICAgIHByaW1lbGlzdC5wdXNoX2JhY2soaSk7CiAgICAgICAgfQogICAgfQp9CgoKLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSoqLwovKiogVGVtcGxhdGUgRW5kcyBIZXJlLiBNYWluIEZ1bmN0aW9uIEFuZCBVc2VyIERlZmluZWQgRnVuY3Rpb25zIFN0YXJ0cyBIZXJlLiAqKi8KLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qKi8KCmludCBjbnRbMTAwNV07CmludCBhcnJbMTAwNV07CgppbnQgbWFpbigpCnsKICAgIGludCB0ZXN0LCBjYXNlbm87CiAgICBzY2FuZigiJWQiLCAmdGVzdCk7CiAgICBMT09QKGNhc2VubywgMSwgdGVzdCkKICAgIHsKICAgICAgICBtZW1zZXQoY250LCAwLCBzaXplb2YgY250KTsKICAgICAgICBpbnQgbiwgeCwgbSA9IDE7CiAgICAgICAgc2NhbmYoIiVkIiwgJm4pOwogICAgICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKyspewogICAgICAgICAgICBzY2FuZigiJWQiLCAmeCk7CiAgICAgICAgICAgIGlmKGNudFt4XT09MCl7CiAgICAgICAgICAgICAgICBhcnJbbSsrXSA9IHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY250W3hdKys7CiAgICAgICAgfQoKICAgICAgICBpbnQgdG90ID0gMDsKICAgICAgICBmb3IoaW50IGk9MTsgaTxtOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGo9aTsgajxtOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBkciA9IHRvdDsKICAgICAgICAgICAgICAgIGlmKGk9PWopewogICAgICAgICAgICAgICAgICAgIGlmKGNudFthcnJbaV1dPjEpewogICAgICAgICAgICAgICAgICAgICAgICBpbnQgYSA9IGFycltpXSArIGFycltqXTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoY250W2FdPjApewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYT09YXJyW2ldICYmIGE9PWFycltqXSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoY250W2FdPjIpICB0b3QrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYT09YXJyW2ldKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjbnRbYV0+MSkgIHRvdCsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihhPT1hcnJbal0pewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNudFthXT4xKSAgdG90Kys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdCsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQovLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0b3QhPWRyKQovLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291dDw8YXJyW2ldPDwnICc8PGFycltqXTw8JyAnPDxhPDxlbmRsOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgICAgICBpbnQgYSA9IGFycltpXSArIGFycltqXTsKICAgICAgICAgICAgICAgICAgICBpZihjbnRbYV0+MCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGE9PWFycltpXSAmJiBhPT1hcnJbal0pewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoY250W2FdPjIpICB0b3QrKzsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGE9PWFycltpXSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjbnRbYV0+MSkgIHRvdCsrOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYT09YXJyW2pdKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNudFthXT4xKSAgdG90Kys7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdCsrOwogICAgICAgICAgICAgICAgICAgICAgICB9Ci8vICAgICAgICAgICAgICAgICAgICAgICAgaWYodG90IT1kcikKLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291dDw8YXJyW2ldPDwnICc8PGFycltqXTw8JyAnPDxhPDxlbmRsOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBDQVNFKGNhc2Vubyk7CiAgICAgICAgcHJpbnRmKCIgJWRcbiIsIHRvdCk7CgogICAgfQp9Cg==