def main():
    a, b = map(int, input().split())
    # xorの累積を調べると周期性が4である余りをrとすると以下のようになる
    # r	累積XOR
    # 0	N 
    # 1	1 
    # 2	N+1
    # 3	0
    def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
    ans = cumxor(a-1) ^ cumxor(b)        
    print(ans)

if __name__ == '__main__':
    main() def main():
    a, b = map(int, input().split())
    # xorの累積を調べると周期性が4である余りをrとすると以下のようになる
    # r	累積XOR
    # 0	N 
    # 1	1 
    # 2	N+1
    # 3	0
    def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
    ans = cumxor(a-1) ^ cumxor(b)        
    print(ans) main a, b = map(int, input().split()) a map(int, input().split()) map int input().split() ().split () input split b def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
     cumxor if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
     n % 4 == 0 n % 4 n 4 0 return n n elif n % 4 == 1:
            return 1
         n % 4 == 1 n % 4 n 4 1 return 1 1 elif n % 4 == 2:
            return n+1
         n % 4 == 2 n % 4 n 4 2 return n+1 n+1 n 1 return 0 0 n n ans = cumxor(a-1) ^ cumxor(b) ans cumxor(a-1) ^ cumxor(b) cumxor(a-1) cumxor a-1 a 1 cumxor(b) cumxor b print(ans) print ans if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():
    a, b = map(int, input().split())
    # xorの累積を調べると周期性が4である余りをrとすると以下のようになる
    # r	累積XOR
    # 0	N 
    # 1	1 
    # 2	N+1
    # 3	0
    def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
    ans = cumxor(a-1) ^ cumxor(b)        
    print(ans) def main():
    a, b = map(int, input().split())
    # xorの累積を調べると周期性が4である余りをrとすると以下のようになる
    # r	累積XOR
    # 0	N 
    # 1	1 
    # 2	N+1
    # 3	0
    def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
    ans = cumxor(a-1) ^ cumxor(b)        
    print(ans) main
def main():
    a, b = map(int, input().split())
    # xorの累積を調べると周期性が4である余りをrとすると以下のようになる
    # r	累積XOR
    # 0	N 
    # 1	1 
    # 2	N+1
    # 3	0
    def cumxor(n):
        if n % 4 == 0:
            return n
        elif n % 4 == 1:
            return 1
        elif n % 4 == 2:
            return n+1
        else:
            return 0
    
    # aからbまでのxorはa-1までのxorと、bまでのxorになるので
    ans = cumxor(a-1) ^ cumxor(b)        
    print(ans)

if __name__ == '__main__':
    main()