private static BigInteger[] buildListThing( int n )
    {
        BigInteger[] toReturn = new BigInteger[(int)Math.pow( 2, n ) ];
        toReturn[0] = BigInteger.ONE;
        toReturn[1] = new BigInteger( "3" );
        BigInteger w = null;
        int count = 2;
        for( int i = 1; i < n; i++ )
        {
            w = toReturn[count - 1].add( new BigInteger( "2" ) );
            for( int j = 0; j < (int)Math.pow( 2, i ); j++ )
            {
                toReturn[count++] = w.multiply( toReturn[j] );
            }
        }
        return toReturn;
    }