I was trying to see if the given dices can make up given string. Take this particular case in which if we are given `'IAM'` and 

```
given_set= [['I', 'B', 'A'], ['J', 'I', 'P',], ['M', 'R', 'S'], ['T', 'U', 'V']]

```

My code returns False for this. But if we grab `'I'` from second list and `'A'` from first list we can still make the string. I think I covered up most of other cases besides this one. 

Can anyone direct on how I can address this particular case?

Here is my code:

```
def possible(string, given_set):
    a = False

    if len(string) > len(given_set):
        return False

    if string == '':
        return True

    for i in string:

        for index, value in enumerate(given_set):

            if i in value:
                a = possible(string[1:],given_set[0:index] + given_set[index+1:])
                return a
            else:
                return False

```