You have to rebuild a string from an enumerated list.
For this task, you have to check if input is correct beforehand.
* Input must be a list of tuples
* Each tuple has two elements.
* Second element is an alphanumeric character.
* First element is the index of this character into the reconstructed string.
* Indexes start at 0 and have to match with output indexing: no gap is allowed.
* Finally tuples aren't necessarily ordered by index.
If any condition is invalid, the function should return `False`.
Input example: 
```python 
[(4,'y'),(1,'o'),(3,'t'),(0,'m'),(2,'n')]
```
Returns
```python
'monty'
```
def denumerate(enum_list):
    if type(enum_list) is list:
        tmp = [None] * len(enum_list)
        
        for index, item in enumerate(enum_list):
            if type(item) is not tuple or len(item) != 2 or not str(item[1]).isalnum() or len(str(item[1])) != 1 or type(item[0]) is not int:
                return False
            try:
                tmp[item[0]] = item[1]
            except:
                return False
            
        tmp = list(filter(None, tmp))
        
        if len(tmp) != len(enum_list):
            return False
            
        return ''.join(tmp)
    
    return False
def denumerate(enum_list):
    if type(enum_list) is list:
        tmp = [None] * len(enum_list)
        
        for index, item in enumerate(enum_list):
            if type(item) is not tuple or len(item) != 2 or not str(item[1]).isalnum() or len(str(item[1])) != 1 or type(item[0]) is not int:
                return False
            try:
                tmp[item[0]] = item[1]
            except:
                return False
            
        tmp = list(filter(None, tmp))
        
        if len(tmp) != len(enum_list):
            return False
            
        return ''.join(tmp)
    
    return False