package main import . "fmt" func main() { var n, m int Scan(&n,&m) b := 0 for i := 0; i <= 30; i+= 2 { b |= 1 << i } c := b << 1 even := (n&m)&b odd := (n^m)&c if (even&(n&b)) != (m&b) { Println(-1) return } if (odd|(n&c)) != (m&c) { Println(-1) return } x := even | odd Println(x) } /* 考察 偶数桁のみ  ・矛盾するとき Mのビットが1でNのビットが0になっている箇所がある  ・xを求める MとNのANDのビットをxは持っている必要がある 奇数桁のみ  ・矛盾するとき Mのビットが0でNのビットが1になっている箇所がある  ・xを求める MとNのXORのビットをxは持っている必要がある */