#include<bits/stdc++.h>
using namespace std;
const long long MOD=1e9+7;
long long n,t;
long long nhan(long long a, long long b, long long c)
{
if(b==0ll) return 0ll;
long long t = nhan(a,b/2,c);
if(b%2==0)
{
return (t+t)%c;
}
else
{
return ((t+t)%c + a%c)%c;
}
}
long long mu (long long a, long long b, long long c)
{
if(b==0) return 1ll;
long long t= mu(a,b/2,c);
if(b%2==0)
{
return nhan(t,t,c);
}
else
{
return nhan(nhan(t,t,c),a,c);
}
}
int main()
{
if(fopen("cperm.inp","r"))
{
freopen("cperm.inp","r",stdin);
freopen("cperm.out","w",stdout);
}
cin >> t;
while (t--)
{
cin >> n;
if (n<=2)
{
cout << 0 << "\n";
continue;
}
cout << mu(2,n-1,MOD)-2 << "\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1PRD0xZTkrNzsKbG9uZyBsb25nIG4sdDsKbG9uZyBsb25nIG5oYW4obG9uZyBsb25nIGEsIGxvbmcgbG9uZyBiLCBsb25nIGxvbmcgYykKewogICAgaWYoYj09MGxsKSByZXR1cm4gMGxsOwogICAgbG9uZyBsb25nIHQgPSBuaGFuKGEsYi8yLGMpOwogICAgaWYoYiUyPT0wKQogICAgewogICAgICAgIHJldHVybiAodCt0KSVjOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHJldHVybiAoKHQrdCklYyArIGElYyklYzsKICAgIH0KfQpsb25nIGxvbmcgbXUgKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYiwgbG9uZyBsb25nIGMpCnsKICAgIGlmKGI9PTApIHJldHVybiAxbGw7CiAgICBsb25nIGxvbmcgdD0gbXUoYSxiLzIsYyk7CiAgICBpZihiJTI9PTApCiAgICB7CiAgICAgICAgcmV0dXJuIG5oYW4odCx0LGMpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHJldHVybiBuaGFuKG5oYW4odCx0LGMpLGEsYyk7CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpZihmb3BlbigiY3Blcm0uaW5wIiwiciIpKQogICAgewogICAgICAgIGZyZW9wZW4oImNwZXJtLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJjcGVybS5vdXQiLCJ3IixzdGRvdXQpOwogICAgfQogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIGNpbiA+PiBuOwogICAgICAgIGlmIChuPD0yKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAwIDw8ICJcbiI7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IG11KDIsbi0xLE1PRCktMiA8PCAiXG4iOwogICAgfQp9Cg==