#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=1e5+5;
const int mod=1e9+7;
int primes[25]={2,3,5,7,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67};
int f[75][(1<<19)+5];
int n;
int cnt[75];
int m[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
int t;
scanf("%d",&t);
cnt[t]++;
}
m[0]=1;
f[0][0]=1;
for(int i=1;i<=n;i++)
{
m[i]=(m[i-1]<<1)%mod;
}
for(int i=1;i<=70;i++)
{
if(cnt[i]==0)
{
for(int msk=0;msk<=(1<<19)-1;msk++)
{
f[i][msk]=f[i-1][msk];
}
continue;
}
for(int msk=0;msk<=(1<<19)-1;msk++)
{
int msk1=msk;
int tmp=i;
for(int j=0;j<19 && tmp>=primes[j];j++)
{
while(tmp%primes[j]==0)
{
tmp/=primes[j];
msk1^=(1<<j);
}
}
f[i][msk1]+=(1ll*f[i-1][msk]*m[cnt[i]-1]%mod)%mod;
f[i][msk1]%=mod;
f[i][msk]+=(1ll*f[i-1][msk]*m[cnt[i]-1]%mod)%mod;
f[i][msk]%=mod;
}
}
cout<<(f[70][0]+mod)%mod-1;
return 0;
}