public static Res combine (Res l, Res r, char op) {
		int  total  =  ( l.cTrue + l.cFalse ) * (r.cTrue + r.cFalse);
		int		t  =  0;
		int		f  =  0;
		if ( op == '^' ){
			t  =  l.cFalse * r.cTrue + l.cTrue * r.cFalse;
			f  =  total - t;			
		} else if ( op == '&' ) {
			t  =  l.cTrue * r.cTrue;
			f  =  total  -  t;
		} else {
			f  =  l.cFalse * r.cFalse;
			t  =  total -  f;			
		}
		return  new Res(t, f);
	}