def f(n):
    if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2

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


if __name__ == '__main__':
    main() def f(n):
    if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2 f if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2 n % 2 == 0 n % 2 n 2 0 return n ^ f(n - 1) n ^ f(n - 1) n f(n - 1) f n - 1 n 1 return (n // 2 + 1) % 2 (n // 2 + 1) % 2 n // 2 + 1 n // 2 n 2 1 2 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):
    if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2 def f(n):
    if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2 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):
    if n % 2 == 0:
        # 偶数で終わっている時
        return n ^ f(n - 1)
    else:
        # 奇数で終わっている時
        return (n // 2 + 1) % 2

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


if __name__ == '__main__':
    main()