## 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
---

Source: codewars | Difficulty: EASY
Tags: Bit manipulation

Starter code: def sxore(n):
	

Solutions:
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)


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