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: introductory

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 # only the middle letter migth apear once

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=0
    for i in check:
        if check[i]%2:
            count+=1
    return True if count==0 else True if (count==1 and len(str(num))%2 ) else False