def f(n):  # 0からnまでのxor
    if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0


def main():
    a, b = map(int, input().split())
    print(f(a - 1) ^ f(b))


if __name__ == "__main__":
    main() def f(n):  # 0からnまでのxor
    if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0 f if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0 n % 2 == 0 n % 2 n 2 0 if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
     (n // 2) % 2 == 0 (n // 2) % 2 n // 2 n 2 2 0 return n n return 1 ^ n 1 ^ n 1 n if (n // 2) % 2 == 0:
            return 1
        else:
            return 0 (n // 2) % 2 == 0 (n // 2) % 2 n // 2 n 2 2 0 return 1 1 return 0 0 n n def main():
    a, b = map(int, input().split())
    print(f(a - 1) ^ f(b)) main a, b = map(int, input().split()) a map(int, input().split()) map int input().split() ().split () input split b print(f(a - 1) ^ f(b)) print f(a - 1) ^ f(b) f(a - 1) f a - 1 a 1 f(b) f b if __name__ == "__main__":
    main() __name__ == "__main__" __name__ "__main__" main() main def f(n):  # 0からnまでのxor
    if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0 def f(n):  # 0からnまでのxor
    if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0 f def main():
    a, b = map(int, input().split())
    print(f(a - 1) ^ f(b)) def main():
    a, b = map(int, input().split())
    print(f(a - 1) ^ f(b)) main
def f(n):  # 0からnまでのxor
    if n % 2 == 0:
        if (n // 2) % 2 == 0:
            return n
        else:
            return 1 ^ n
    else:
        if (n // 2) % 2 == 0:
            return 1
        else:
            return 0


def main():
    a, b = map(int, input().split())
    print(f(a - 1) ^ f(b))


if __name__ == "__main__":
    main()
