A, B = map(int, input().split())
# F(A,B) = F(0,A-1) ^ F(0,B)
# 任意の偶数について、n ^ (n+1) = 1
# ex. F(0,6) = 0^1^2^3^4^5^6 = (0^1)^(2^3)^(4^5)^6 = 1^1^1^6
# 1^1^1^...について、1が偶数個なら0, 奇数個なら1


def xor_func(n):
    if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
    return x

f1 = xor_func(A - 1)
f2 = xor_func(B)
ans = f1 ^ f2
print(ans) A, B = map(int, input().split()) A map(int, input().split()) map int input().split() ().split () input split B def xor_func(n):
    if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
    return x xor_func if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
     n % 2 == 0 n % 2 n 2 0 tmp = n // 2 tmp n // 2 n 2 if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
     tmp % 2 == 0 tmp % 2 tmp 2 0 x = 0 ^ n x 0 ^ n 0 n x = 1 ^ n x 1 ^ n 1 n tmp = (n + 1) // 2 tmp (n + 1) // 2 n + 1 n 1 2 if tmp % 2 == 0:
            x = 0
        else:
            x = 1
     tmp % 2 == 0 tmp % 2 tmp 2 0 x = 0 x 0 x = 1 x 1 return x x n n f1 = xor_func(A - 1) f1 xor_func(A - 1) xor_func A - 1 A 1 f2 = xor_func(B) f2 xor_func(B) xor_func B ans = f1 ^ f2 ans f1 ^ f2 f1 f2 print(ans) print ans B = map(int, input().split()) map(int, input().split()) B f1 = xor_func(A - 1) xor_func(A - 1) f1 ans = f1 ^ f2 f1 ^ f2 ans f2 = xor_func(B) xor_func(B) f2 A, B = map(int, input().split()) map(int, input().split()) A def xor_func(n):
    if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
    return x def xor_func(n):
    if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
    return x xor_func
A, B = map(int, input().split())
# F(A,B) = F(0,A-1) ^ F(0,B)
# 任意の偶数について、n ^ (n+1) = 1
# ex. F(0,6) = 0^1^2^3^4^5^6 = (0^1)^(2^3)^(4^5)^6 = 1^1^1^6
# 1^1^1^...について、1が偶数個なら0, 奇数個なら1


def xor_func(n):
    if n % 2 == 0:
        tmp = n // 2
        if tmp % 2 == 0:
            x = 0 ^ n
        else:
            x = 1 ^ n
    else:
        tmp = (n + 1) // 2
        if tmp % 2 == 0:
            x = 0
        else:
            x = 1
    return x

f1 = xor_func(A - 1)
f2 = xor_func(B)
ans = f1 ^ f2
print(ans)
