#include <iostream>
#include <cmath>
#include <algorithm>
#define ll unsigned long long
using namespace std;
long double fi=(1.0/sqrt(5.0)),f2=(1.0+sqrt(5.0))/2.0,f3=(1.0-sqrt(5.0))/2.0;
long double mod=1000000007.0;
long double pot(long double base,ll exp){
long double res=1.0;
while(exp>0){
if(exp&1)res=fmod(fmod(res,mod)*fmod(base,mod),mod);
base=base*base;
exp>>=1;
}
return fmod(res,mod);
}
long double fibon(ll n){
if(n<=2)return 1;
return fmod(fi*fmod(fmod(pot(f2,n),mod)-fmod(pot(f3,n),mod),mod),mod);
}
int main(){
int t;
scanf("%d",&t);
for(int i=0;i<t;++i){
int n;
scanf("%d",&n);
printf("%.0Lf\n",fibon(n));
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNkZWZpbmUgbGwgdW5zaWduZWQgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgZG91YmxlIGZpPSgxLjAvc3FydCg1LjApKSxmMj0oMS4wK3NxcnQoNS4wKSkvMi4wLGYzPSgxLjAtc3FydCg1LjApKS8yLjA7CmxvbmcgZG91YmxlIG1vZD0xMDAwMDAwMDA3LjA7CmxvbmcgZG91YmxlIHBvdChsb25nIGRvdWJsZSBiYXNlLGxsIGV4cCl7CiAgICBsb25nIGRvdWJsZSByZXM9MS4wOwogICAgd2hpbGUoZXhwPjApewogICAgICAgIGlmKGV4cCYxKXJlcz1mbW9kKGZtb2QocmVzLG1vZCkqZm1vZChiYXNlLG1vZCksbW9kKTsKICAgICAgICBiYXNlPWJhc2UqYmFzZTsKICAgICAgICBleHA+Pj0xOwogICAgfQogICAgcmV0dXJuIGZtb2QocmVzLG1vZCk7Cn0KbG9uZyBkb3VibGUgZmlib24obGwgbil7CiAgICBpZihuPD0yKXJldHVybiAxOwogICAgcmV0dXJuIGZtb2QoZmkqZm1vZChmbW9kKHBvdChmMixuKSxtb2QpLWZtb2QocG90KGYzLG4pLG1vZCksbW9kKSxtb2QpOwp9CmludCBtYWluKCl7CiAgICBpbnQgdDsKICAgIHNjYW5mKCIlZCIsJnQpOwogICAgZm9yKGludCBpPTA7aTx0OysraSl7CiAgICAgICAgaW50IG47CiAgICAgICAgc2NhbmYoIiVkIiwmbik7CiAgICAgICAgcHJpbnRmKCIlLjBMZlxuIixmaWJvbihuKSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=