Make a function that receives a value, ```val``` and outputs the smallest higher number than the given value, and this number belong to a set of positive integers that have the following properties:

- their digits occur only once

- they are odd

- they are multiple of three

```python
next_numb(12) == 15

next_numb(13) == 15

next_numb(99) == 105

next_numb(999999) == 1023459

next_number(9999999999) == "There is no possible number that
fulfills those requirements"
```

Enjoy the kata!!

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def next_numb(val):
	

Solutions:
def unique_digits(n):
	return len(set(str(n))) == len(str(n))

def next_numb(val):
	val += 1
	while val % 3:
		val += 1
	if val % 2 == 0:
		val += 3
	while not unique_digits(val):
		val += 6
		if val > 9876543210:
			break
	else:
		return val
	return 'There is no possible number that fulfills those requirements'


def next_numb(val):
	val += 3 - val % 3
	if not val & 1:
		val += 3
	while val < 9999999999:
		s = str(val)
		if len(s) == len(set(s)):
			return val
		val += 6
	return 'There is no possible number that fulfills those requirements'


DEFAULT = 'There is no possible number that fulfills those requirements'

def valid(s):
	return len(set(s)) == len(s)

def next_numb(n):
	n += 3 - n % 3
	if not n & 1:
		n += 3
	return next((n for n in range(n, 9999999999, 6) if valid(str(n))), DEFAULT)


def next_numb(val):
	i = val + 1
	while i <= 9999999999:
		if i % 3 == 0 and i % 2 and (len(str(i)) == len(set(str(i)))):
			return i
		i += 1
	return 'There is no possible number that fulfills those requirements'


from itertools import count

def next_numb(val):
	if val >= 9999999999:
		return 'There is no possible number that fulfills those requirements'
	for i in count(val + 1):
		s = str(i)
		if i % 2 == 1 and i % 3 == 0 and (len(s) == len(set(s))):
			return i


from collections import Counter

def next_numb(val):
	if val >= 9876543210:
		return 'There is no possible number that fulfills those requirements'
	x = val + 1
	if x % 3 != 0:
		x += 3 - x % 3
	if x % 2 == 0:
		x += 3
	c = Counter(str(x))
	while max(c.values()) > 1:
		x += 6
		c = Counter(str(x))
	return x


def next_numb(n):
	if n > 9876543201:
		return 'There is no possible number that fulfills those requirements'
	x = n - n % 3 + 3
	while True:
		if x > 9876543201:
			return 'There is no possible number that fulfills those requirements'
		if x & 1:
			a = [d for d in str(x)]
			s = list(set(a))
			if len(a) == len(s):
				return x
		x += 3