a,b=map(int,input().split())

def calc(x):
    n = x // 2 % 2
    if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n 

print(calc(b) ^ calc(a-1)) a,b=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b def calc(x):
    n = x // 2 % 2
    if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n  calc n = x // 2 % 2 n x // 2 % 2 x // 2 x 2 2 if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n  x % 2 x 2 if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
     n return x ^ n x ^ n x n x x print(calc(b) ^ calc(a-1)) print calc(b) ^ calc(a-1) calc(b) calc b calc(a-1) calc a-1 a 1 a,b=map(int,input().split()) map(int,input().split()) a def calc(x):
    n = x // 2 % 2
    if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n  def calc(x):
    n = x // 2 % 2
    if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n  calc b=map(int,input().split()) map(int,input().split()) b
a,b=map(int,input().split())

def calc(x):
    n = x // 2 % 2
    if x % 2 :
        if n : return 0
        else: return 1 # 実質(x -1) ^ x の結果
    else:
        return x ^ n 

print(calc(b) ^ calc(a-1))