from math import ceil
def f(x):
  xor_cnt=ceil(x/2)
  res=0
  if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
  return res

a,b=map(int,input().split())
print(f(b)^f(a-1)) from math import ceil def f(x):
  xor_cnt=ceil(x/2)
  res=0
  if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
  return res f xor_cnt=ceil(x/2) xor_cnt ceil(x/2) ceil x/2 x 2 res=0 res 0 if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
   x%2==1 x%2 x 2 1 if xor_cnt%2==0:
      res=0
    else:
      res=1
   xor_cnt%2==0 xor_cnt%2 xor_cnt 2 0 res=0 res 0 res=1 res 1 if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
   xor_cnt%2==0 xor_cnt%2 xor_cnt 2 0 res=0^x res 0^x 0 x res=1^x res 1^x 1 x return res res x x a,b=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b print(f(b)^f(a-1)) print f(b)^f(a-1) f(b) f b f(a-1) f a-1 a 1 a,b=map(int,input().split()) map(int,input().split()) a b=map(int,input().split()) map(int,input().split()) b def f(x):
  xor_cnt=ceil(x/2)
  res=0
  if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
  return res def f(x):
  xor_cnt=ceil(x/2)
  res=0
  if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
  return res f
from math import ceil
def f(x):
  xor_cnt=ceil(x/2)
  res=0
  if x%2==1:
    if xor_cnt%2==0:
      res=0
    else:
      res=1
  else:
    if xor_cnt%2==0:
      res=0^x
    else:
      res=1^x
  return res

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