private static String parse( BigInteger f, int n )
    {
        String toReturn = "";
        String s = "";
        String[] vars = new String[n];
        for( int i = 1; i <= n; i++ )
        {
            vars[i-1] = "x" + Integer.toString( i );
        }
        BigInteger[] nums = ANFParser.buildListThing( n );
        for( int i = nums.length - 1; i >= 0; i-- )
        {
            s = ANFParser.buildMult( vars, i );
            if( ( nums[i].and( f ) ).bitCount() % 2 == 1 )
            {
                toReturn += ( " + " + s );
            }
        }
        return ANFParser.form( ( (toReturn.length() >= 3 ) ? toReturn.substring( 3, toReturn.length() ) : "0" ) );
    }