A palindrome is a word, phrase, number, or other sequence of characters which reads the same backward as forward. Examples of numerical palindromes are: 

* 232
* 110011
* 54322345

Complete the function to test if the given number (`num`) **can be rearranged** to form a numerical palindrome or not. Return a boolean (`true` if it can be rearranged to a palindrome, and `false` if it cannot). Return `"Not valid"` if the input is not an integer or is less than 0.

For this kata, single digit numbers are **NOT** considered numerical palindromes.  


## Examples

```
5        =>  false
2121     =>  true
1331     =>  true 
3357665  =>  true 
1294     =>  false 
"109982" =>  "Not valid"
-42      =>  "Not valid"
```

Difficulty: EASY
Starter code: def palindrome(num):
	

Solutions:
from collections import Counter

def palindrome(num):
	if not isinstance(num, int) or num < 0:
		return 'Not valid'
	return num > 10 and sum((1 for v in Counter(map(int, str(num))).values() if v % 2)) <= 1


def palindrome(num):
	s = str(num)
	return 'Not valid' if not isinstance(num, int) or num < 0 else num > 10 and sum((s.count(d) % 2 > 0 for d in set(s))) < 2


palindrome = lambda n: [sum((str(n).count(i) & 1 for i in set(str(n)))) < 2, 0][n < 10] if type(n) == int and n >= 0 else 'Not valid'


from collections import Counter

def palindrome(num):
	if not isinstance(num, int) or num < 0:
		return 'Not valid'
	elif num <= 10:
		return False
	check = Counter(str(num))
	count = sum((1 for i in check if check[i] % 2))
	return True if count == 0 else True if count == 1 and len(str(num)) % 2 else False


from collections import Counter

def palindrome(num):
	if not isinstance(num, int) or num < 0:
		return 'Not valid'
	return True if num > 10 and 1 >= sum(map(lambda oc: oc % 2, Counter(str(num)).values())) else False


def palindrome(n):
	if type(n) != int or n < 0:
		return 'Not valid'
	s = str(n)
	return n > 10 and sum((s.count(d) % 2 for d in set(s))) < 2


def palindrome(num):
	s = str(num)
	if not isinstance(num, int) or num < 0:
		return 'Not valid'
	return num > 9 and sum((s.count(x) % 2 for x in set(s))) < 2


from collections import Counter

def palindrome(num):
	if not isinstance(num, int) or num < 0:
		return 'Not valid'
	occ2 = [0, 0]
	for freq in Counter(str(num)).values():
		occ2[freq % 2] += freq % 2
	return num >= 10 and occ2[1] <= 1


def palindrome(n):
	if not isinstance(n, int) or n < 0:
		return 'Not valid'
	if n < 9:
		return False
	n = str(n)
	return sum((n.count(c) % 2 for c in set(n))) <= 1