/*triskelion*/
#include<bits/stdc++.h>
#define mod 1000000007
using namespace std;
typedef long long int ll;
typedef long double ld;
ll a[750004]={0};
ll b[750004]={0};
ll c[750004]={0};
int main()
{
ios_base::sync_with_stdio(false);
//cin.tie(0);
//cout.tie(0);
ll t;
//cout<<"test cases\n";
cin>>t;
while(t--)
{
ll i,j,ans=0,n;
memset(a,0,sizeof(a));
memset(b,-1,sizeof(b));
memset(c,0,sizeof(c));
//cout<<"n\n";
cin>>n;
//cout<<n<<"\n";
for(i=0;i<n;i++)
{
cin>>a[i];
b[a[i]]=i;
}
sort(a,a+n);
for(i=n-1;i>=0;i++)
{
for(j=1;j*a[i]<=a[n-1];j++)
{
if(j==1)
c[i]=1;
else
{
if(b[a[i]*j]!=-1)
c[i]+=c[b[a[i]*j]];
}
}
}
for(i=0;i<n;i++)
ans=(ans+c[i])%mod;
cout<<ans<<"\n";
}
return 0;
}
IC8qdHJpc2tlbGlvbiovCgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CgpsbCBhWzc1MDAwNF09ezB9OwpsbCBiWzc1MDAwNF09ezB9OwpsbCBjWzc1MDAwNF09ezB9OwppbnQgbWFpbigpCnsKaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Ci8vY2luLnRpZSgwKTsKLy9jb3V0LnRpZSgwKTsKbGwgdDsKLy9jb3V0PDwidGVzdCBjYXNlc1xuIjsKY2luPj50Owp3aGlsZSh0LS0pCnsKICAgIGxsIGksaixhbnM9MCxuOwogICAgbWVtc2V0KGEsMCxzaXplb2YoYSkpOwogICAgbWVtc2V0KGIsLTEsc2l6ZW9mKGIpKTsKICAgIG1lbXNldChjLDAsc2l6ZW9mKGMpKTsKICAgIC8vY291dDw8Im5cbiI7CiAgICBjaW4+Pm47CiAgICAvL2NvdXQ8PG48PCJcbiI7CiAgICBmb3IoaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgY2luPj5hW2ldOwogICAgICAgIGJbYVtpXV09aTsKICAgIH0KICAgIHNvcnQoYSxhK24pOwogICAgZm9yKGk9bi0xO2k+PTA7aSsrKQogICAgewogICAgICAgIGZvcihqPTE7aiphW2ldPD1hW24tMV07aisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaj09MSkKICAgICAgICAgICAgICAgIGNbaV09MTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihiW2FbaV0qal0hPS0xKQogICAgICAgICAgICAgICAgY1tpXSs9Y1tiW2FbaV0qal1dOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgIGFucz0oYW5zK2NbaV0pJW1vZDsKICAgIGNvdXQ8PGFuczw8IlxuIjsKfQpyZXR1cm4gMDsKfQo=