#include using namespace std; int test; const int mod=1e9+7; long long n,a,b; int fuckit(long long n,long long a,long long b) { n%=mod; a%=mod;b%=mod; return (((n*n%mod*n%mod*b)+((n-1)*n%mod*n%mod*a))%mod+mod)%mod; } long long fuckiit(long long n,long long a,long long b) { return (n*n*n*b)+((n-1)*n*n*a); } int check(long long n,long long a,long long b) { if (n&1) { return fuckit(n,a,b); } if (n>100) return (18ll*(n/2%mod)%mod*(n/2%mod)%mod*a+7ll*check(n/2,a,b))%mod; if (18ll*n/2*n/2*a+7ll*fuckiit(n/2,a,b)<=fuckiit(n,a,b)) return (18ll*(n/2)*(n/2)*a+7ll*check(n/2,a,b))%mod; return fuckit(n,a,b); } int main() { scanf("%d",&test); while(test--) { scanf("%I64d%I64d%I64d",&n,&a,&b); printf("%d\n",check(n,a,b)); } return 0; }