## Objective

Given a number `n` we will define it's sXORe to be `0 XOR 1 XOR 2 ... XOR n` where `XOR` is the [bitwise XOR operator](https://en.wikipedia.org/wiki/Bitwise_operation#XOR).

Write a function that takes `n` and returns it's sXORe.

## Examples
|    n    | sXORe n
|---------|--------         
| 0       | 0
| 1       | 1
| 50      | 51
| 1000000 | 1000000
---

Difficulty: introductory

Starter code:

def sxore(n):
	

Solutions:
def sxore(n):
    return [n, 1, n + 1, 0][n % 4]

def sxore(n):
    return (n,1,n+1,0)[n%4]

def sxore(n):
    res = {0: n, 1: 1, 2: n + 1, 3: 0}
    return res[n % 4]

sxore=lambda n:{n%4==0:n,n%4==1:1,n%4==2:n+1}.get(True,0)

sxore=lambda n:(n,1,n+1,0)[n%4]

def sxore(n):
    return (n >> 1) & 1 ^ ( 1 if n&1 else n)


def sxore(n):
    return (n * (n % 2 == 0)) + ((n + 1) % 4) // 2

d = {0: lambda x: x,
     1: lambda x: 1, 
     2: lambda x: (x // 4) * 4 + 3, 
     3: lambda x: 0}

def sxore(n):
    return d[n % 4](n)

def sxore(n):
    m = n % 4
    if m == 0: return n
    if m == 1: return 1
    if m == 2: return n + 1
    return 0

def sxore(n):
    return [n,1,n+1,0][n%4]

#n,1,n+1,0