import java.util.Scanner;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
long y = scanner.nextLong();
long k = scanner.nextLong();
long notPossible = 0;
long res = 0;
for(long i = 10; i>=0; i--){
long initial_num = 0;
//get digit at current iteration in bin num
long g = y>>i;
if ((g & 1) == 1){
initial_num = 1;
}
else{
initial_num = 0;
}
long final_num = 0;
g = k>>i;
if ((g & 1) == 1){
final_num = 1;
}
else{
final_num = 0;
}
if ( initial_num == final_num ){
//then do nothing.. the res is anyway going to be 0 at i
}
else{
if ( initial_num == 0){
//then we need 1 at the ith pos of the res which we will || with to get final
// this case means that initial != final at i and initial doesnt have 1 which final has.. so
// num we OR with needs to have a 1
res |= (1L << i);
// left shift because i want to place 1 at a specific pos
//LEFT SHIFT = “move 1 to position i”
/*
Right shift does the opposite: 1000 >> 1 = 0100
👉 It loses information (moves bits away)
8*/
}
else{
notPossible = -1;break;
}
}
}
if (notPossible == -1) {
System.
out.
println(notPossible
); } else {
}
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2Nhbm5lciA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgogICAgICAgIGxvbmcgeSA9IHNjYW5uZXIubmV4dExvbmcoKTsKICAgICAgICBsb25nIGsgPSBzY2FubmVyLm5leHRMb25nKCk7CgogICAgICAgIGxvbmcgbm90UG9zc2libGUgPSAwOwogICAgICAgIGxvbmcgcmVzID0gMDsKCiAgICAgICAgZm9yKGxvbmcgaSA9IDEwOyBpPj0wOyBpLS0pewogICAgICAgICAgICBsb25nIGluaXRpYWxfbnVtID0gMDsKICAgICAgICAgICAgLy9nZXQgZGlnaXQgYXQgY3VycmVudCBpdGVyYXRpb24gaW4gYmluIG51bSAKICAgICAgICAgICAgbG9uZyBnID0geT4+aTsKICAgICAgICAgICAgaWYgKChnICYgMSkgPT0gMSl7CiAgICAgICAgICAgICAgICBpbml0aWFsX251bSA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIGluaXRpYWxfbnVtID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBsb25nIGZpbmFsX251bSA9IDA7CiAgICAgICAgICAgIGcgPSBrPj5pOwogICAgICAgICAgICBpZiAoKGcgJiAxKSA9PSAxKXsKICAgICAgICAgICAgICAgIGZpbmFsX251bSA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIGZpbmFsX251bSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCBpbml0aWFsX251bSA9PSBmaW5hbF9udW0gKXsKICAgICAgICAgICAgICAgIC8vdGhlbiBkbyBub3RoaW5nLi4gdGhlIHJlcyBpcyBhbnl3YXkgZ29pbmcgdG8gYmUgMCBhdCBpIAogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBpZiAoIGluaXRpYWxfbnVtID09IDApewogICAgICAgICAgICAgICAgICAgIC8vdGhlbiB3ZSBuZWVkIDEgYXQgdGhlIGl0aCBwb3Mgb2YgdGhlIHJlcyB3aGljaCB3ZSB3aWxsIHx8IHdpdGggdG8gZ2V0IGZpbmFsCiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBjYXNlIG1lYW5zIHRoYXQgaW5pdGlhbCAhPSBmaW5hbCBhdCBpIGFuZCBpbml0aWFsIGRvZXNudCBoYXZlIDEgd2hpY2ggZmluYWwgaGFzLi4gc28gCiAgICAgICAgICAgICAgICAgICAgLy8gbnVtIHdlIE9SIHdpdGggbmVlZHMgdG8gaGF2ZSBhIDEKICAgICAgICAgICAgICAgICAgICByZXMgfD0gKDFMIDw8IGkpOwogICAgICAgICAgICAgICAgICAgIC8vIGxlZnQgc2hpZnQgYmVjYXVzZSBpIHdhbnQgdG8gcGxhY2UgMSBhdCBhIHNwZWNpZmljIHBvcwogICAgICAgICAgICAgICAgICAgIC8vTEVGVCBTSElGVCA9IOKAnG1vdmUgMSB0byBwb3NpdGlvbiBp4oCdCiAgICAgICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgICAgICBSaWdodCBzaGlmdCBkb2VzIHRoZSBvcHBvc2l0ZTogMTAwMCA+PiAxID0gMDEwMAogICAgICAgICAgICAgICAgICAgIPCfkYkgSXQgbG9zZXMgaW5mb3JtYXRpb24gKG1vdmVzIGJpdHMgYXdheSkKICAgICAgICAgICAgICAgICAgICA4Ki8KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgICAgbm90UG9zc2libGUgPSAtMTticmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAobm90UG9zc2libGUgPT0gLTEpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG5vdFBvc3NpYmxlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ocmVzKTsKICAgICAgICB9CiAgICB9Cn0K