#00072E

Maximum XOR

Mala Marica mnogo voli probleme sa bitovnim operacijama. Evo jednog takvog problema.


Data su dva prirodna broja l i r. Posmatrajmo vrednosti a⊕b za sve parove prirodnih brojeva a i b (l ≤ a ≤ b ≤ r). Vaš zadatak je da pronađete najveću od tih vrednosti.


Izraz x⊕y podrazumeva bitovnu ekskluzivnu disjunkciju nad brojevima x i y. Data operacija postoji u svim modernim programskim jezicima, na primer, u jezicima C++ i Javi je predstavljena operatorom "^", a u Pascalu — kao «xor».


InputU jedinom redu standardnog ulaza nalaze se prirodni brojevi l i r (1 ≤ l ≤ r ≤ 10^18).

OutputU prvom i jedinom redu standardnog izlaza ispisati jedan prirodan broj — maksimalnu vrednost a⊕b za sve parove prirodnih brojeva a, b (l ≤ a ≤ b ≤ r).

Ulaz:
1 2
Izlaz:
3

Ulaz:
8 16
Izlaz:
31

Ulaz:
1 1
Izlaz:
0

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.