#include <bits/stdc++.h>
using namespace std;
#define int long long
int mod = 1e9 + 7;
long long ltn(int a, int n, int m){
long long r=0;
for(;n>0;n>>=1,a=(a+a)%m)if(n&1)r=(r+a)%m; return r;
}
long long lltn(int a, int n, int m){
long long r=1;
a%=m;
for(;n>0;n>>=1,a=ltn(a,a,m))if(n&1)r=ltn(r,a,m);return r;
}
signed main()
{
// freopen("bhlt_bai9.inp", "r", stdin);
// freopen("bhlt_bai9.out", "w", stdout);
long long n, x, a[1000005], b[1000005], r[1000005], mx = 0; cin >> n;
memset(r, 0, sizeof(r));
for(int i = 0; i < n; i++){
cin >> x;
a[x]++;
mx = max(mx, x);
}
for(int i = 1; i <= mx; i++){
for(int j = i; j <= mx; j += i){
b[i] += a[j];
}
}
for(int i = mx; i > 0; i--){
r[i] = lltn(2, b[i], mod) - 1;
for(int j = i + i; j <= mx; j+=i){
r[i] -= r[j];
}
}
cout << r[1];
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwppbnQgbW9kID0gMWU5ICsgNzsKbG9uZyBsb25nIGx0bihpbnQgYSwgaW50IG4sIGludCBtKXsKICAgIGxvbmcgbG9uZyByPTA7CiAgICBmb3IoO24+MDtuPj49MSxhPShhK2EpJW0paWYobiYxKXI9KHIrYSklbTsgcmV0dXJuIHI7Cn0KbG9uZyBsb25nIGxsdG4oaW50IGEsIGludCBuLCBpbnQgbSl7CiAgICBsb25nIGxvbmcgcj0xOwogICAgYSU9bTsKICAgIGZvcig7bj4wO24+Pj0xLGE9bHRuKGEsYSxtKSlpZihuJjEpcj1sdG4ocixhLG0pO3JldHVybiByOwp9CgpzaWduZWQgbWFpbigpIAp7CgkvLyBmcmVvcGVuKCJiaGx0X2JhaTkuaW5wIiwgInIiLCBzdGRpbik7CgkvLyBmcmVvcGVuKCJiaGx0X2JhaTkub3V0IiwgInciLCBzdGRvdXQpOwogICAgbG9uZyBsb25nIG4sIHgsIGFbMTAwMDAwNV0sIGJbMTAwMDAwNV0sIHJbMTAwMDAwNV0sIG14ID0gMDsgY2luID4+IG47CgltZW1zZXQociwgMCwgc2l6ZW9mKHIpKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICBjaW4gPj4geDsKICAgICAgYVt4XSsrOwogICAgICBteCA9IG1heChteCwgeCk7CiAgICB9CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG14OyBpKyspewogICAgICBmb3IoaW50IGogPSBpOyBqIDw9IG14OyBqICs9IGkpewogICAgICAgIGJbaV0gKz0gYVtqXTsKICAgICAgfQogICAgfQoJCiAgICBmb3IoaW50IGkgPSBteDsgaSA+IDA7IGktLSl7CiAgICAJcltpXSA9IGxsdG4oMiwgYltpXSwgbW9kKSAtIDE7CiAgICAgIGZvcihpbnQgaiA9IGkgKyBpOyBqIDw9IG14OyBqKz1pKXsKICAgICAgICByW2ldIC09IHJbal07CiAgICAgIH0KCQogICAgfQogICAgY291dCA8PCByWzFdOwoKfQo=