# Power Set Game

QUESTION

Let there be a set of size N. Power set of a set S, denoted by \n\nP(S) is the set of all subsets of S, including the empty set and the S itself. \nSet A is said to be subset of set B if all elements of A are contained in B. Empty set is always a subset of any non-empty set. Similarly any set is subset of itself. \nSet A is said to be equal to set B if all elements of A are present in B and cardinality of both sets is same.\n\nLet us define a new function F. The three arguments of this function are three elements from P(S). \nF(A,B,C)=1 if and only if (A is a subset of B and B is a subset of C and A is not equal to C) 0, otherwise.\n\nWhat is the suf\n\nF(A,B,C) over all possible different triplets from P(S). \nTwo triplets A,B,C and D,E,F are said to be different if A!=D or B!=E or C!=F.\n\nInput: \nFirst line contains T, denoting the number of test cases. Each test case contains N, the size of set S.\n\nOutput: \nPrint in one line for each testcase, the required answer modulo 10^9+7.\n\nConstraints: \n\n1<=T<=100 \n 1<=N<=1000.

``````#include <stdio.h>
#include <math.h>
#define MOD 1000000007

long long lpower(int a, int n)
{
int i = 0;
long long an = 1;
while(n > 0)
{
an = (an * a) % MOD;
n -= 1;
}
return an;
}
int main()
{
int T = 0;
scanf ("%d", &T);
int i = 0;
int N = 0;
unsigned long long s;

while (i < T)
{
i++;
scanf("%d", &N);
//printf("%d\n", lpower(2,2));
s = lpower(4, N) - lpower(2,N);
s = (s+MOD) % MOD;
printf("%lld\n", s);
}
return 0;
}`````` 