#include <iostream>
#include<cmath>
using namespace std;
#define MOD 1000000007;
long long int power(int a,int b)
{
if(b==0)
return 1;
if(b==1)
return a;
if(b%2==0)
return power(pow(a,2),b/2)%MOD;
if(b%2!=0)
return (a * power(pow(a,2),(b-1)/2))%MOD;
}
int main()
{
int t,n,i;
long long int cr,ans=0;
int *a,*dp;
cin>>t;
while(t--)
{
cin>>n;
a=new int[n];
dp=new int[n];
for(i=0;i<n;i++)
cin>>a[i];
for(int diff=-100;diff<=100;diff++)
{
int sum[101]={0};
cr=0;
for(i=0;i<n;i++)
{
if(a[i]-diff>=1 && a[i]-diff<=100)
{
dp[i]=(sum[a[i]-diff]+1)%MOD;
sum[a[i]]=(sum[a[i]]+dp[i])%MOD;
cr=(cr+dp[i])%MOD;
}
else
{
dp[i]=1;
sum[a[i]]=(sum[a[i]]+dp[i])%MOD;;
cr=(cr+dp[i])%MOD;
}
}
ans=(ans+cr-n)%MOD;
}
ans=(ans+n)%MOD;
ans=(power(2,n)-1-ans+MOD)%MOD;
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxjbWF0aD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDc7Cgpsb25nIGxvbmcgaW50IHBvd2VyKGludCBhLGludCBiKQp7CglpZihiPT0wKQoJCXJldHVybiAxOwoJaWYoYj09MSkKCQlyZXR1cm4gYTsKCWlmKGIlMj09MCkKCQlyZXR1cm4gcG93ZXIocG93KGEsMiksYi8yKSVNT0Q7CglpZihiJTIhPTApCgkJcmV0dXJuIChhICogcG93ZXIocG93KGEsMiksKGItMSkvMikpJU1PRDsKfQoKIAppbnQgbWFpbigpIAp7CglpbnQgdCxuLGk7Cglsb25nIGxvbmcgaW50IGNyLGFucz0wOwoJCglpbnQgKmEsKmRwOwoJY2luPj50OwoJd2hpbGUodC0tKQoJewoJY2luPj5uOwoJYT1uZXcgaW50W25dOwoJZHA9bmV3IGludFtuXTsKCWZvcihpPTA7aTxuO2krKykKCQljaW4+PmFbaV07CgkKCWZvcihpbnQgZGlmZj0tMTAwO2RpZmY8PTEwMDtkaWZmKyspCgl7CgkJaW50IHN1bVsxMDFdPXswfTsKCQkKCQljcj0wOwoJCQoJCWZvcihpPTA7aTxuO2krKykKCQl7CgkJCWlmKGFbaV0tZGlmZj49MSAmJiBhW2ldLWRpZmY8PTEwMCkKCQkJewoJCQkKCQkJZHBbaV09KHN1bVthW2ldLWRpZmZdKzEpJU1PRDsKCQkJc3VtW2FbaV1dPShzdW1bYVtpXV0rZHBbaV0pJU1PRDsKCQkJY3I9KGNyK2RwW2ldKSVNT0Q7CgkKCQkJfQoJCQllbHNlCgkJCXsKCQkJZHBbaV09MTsKCQkJc3VtW2FbaV1dPShzdW1bYVtpXV0rZHBbaV0pJU1PRDs7CgkJCWNyPShjcitkcFtpXSklTU9EOwoJCgkJCX0KCQkKCQkKCQl9CgkJYW5zPShhbnMrY3ItbiklTU9EOwoKCQkKCQkKCX0KCQlhbnM9KGFucytuKSVNT0Q7CgkKCQlhbnM9KHBvd2VyKDIsbiktMS1hbnMrTU9EKSVNT0Q7CgkJY291dDw8YW5zPDxlbmRsOwoJCgkKCQoJfQoJcmV0dXJuIDA7Cn0g
MQoxMDAKMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSA=
1
100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1