#!/usr/bin/perl -w

use 5.034;

my %hash;
for my $p (0 .. 1){
    my $q = 1-$p;
    for my $k ($p,$q){
	for my $op1 ("&", "|", "^") {
	    for my $op2 ("&", "|", "^") {
		for my $pos (1,2){             # 0 = 1, not neccesary
		    my $string;
		    if ($pos == 1){ 
			$string = " ( $p $op1 $q ) $op2 $k ";
		    }elsif ($pos == 2){
			$string = " $p $op1 ( $q $op2 $k ) ";
#		    }else{
#			$string = "   $p $op1 $q $op2 $k  ";
		    }
		    $hash{$string}++;
		    if ($hash{$string} ==1 ){
			say "$string", " = ", eval($string);
		    }
		}
	    }
	}
    }
}

exit 2;

