Are you ready to meet the Elite-Four? To be able to challenge the Elite-4 of top programmers, you need to show your badges first, that qualify you as a potential programmer-master. However, there's a twist. Once you show a badge, it is collected, which means you can't re-show it. So better come prepared! There are n badge collectors, each has a known list of accepted_badges. Given a list of your badges, your task is to find out, if you can access elite-four or if you require more badges. You can indicate this by printing a truthy-value for the first case or a falsey-value in the second case.

Example  

accepted_badges: [ [a, b, c], [a, b, d], [d, e, f]]


If you have the badges [a, b, d]  you can pass. Simply give your a badge to the first collector (accepted_badges[0]), your b badge to the second and your d badge to the last collector. So this is a truthy case. 

If you have the badges [a, b, c] you are in bad luck. The last collector doesn't accept any of it.  

If you have the badges [b, c, d] you can also pass. Here  you will need to give your c badge to the first collector, the b badge to the second and the final collector will get the d badge. 

If you have the badges [a, e, f] you will not be admitted, because you would have to use your a badge twice (since the first collector takes it away from you), which is not possible.

Input:


  A list* of your badges
  A 2Dlist* of badge collectors and their accepted badges


*list can be the following:  

1. a list, i.e. [a, b, c, ...] or [[a,b,c],[c,d,e]]
2. a list with first element = number of elements i.e. [3, a, b, c] or [ [2], [3, a, b, c], [1, a]]
2. a string     "abcd..."  
3. a string with leading number of elements i.e. "3abc"  
4. a seperated string i.e. "abc,def,ghi"
5. a separated string with leading numbers of elements i.e. "3abc,2ab,5abcdef"
6. or any other convenient input format you can think of


Assumptions:

You may assume:


any list to never be empty  
input letters to always match [a-z]
your number of badges matches the number of badge collectors


You may not assume:


that any list is sorted


Test cases (list format):

['a','b','c','d']
[['a','b','c'],['d','e','f'],['b','c','d'], ['c', 'g']]
Truthy

['a', 'a', 'a']  
[['a', 'b', 'c'], ['a', 'd', 'e'], ['a', 'b', 'e', 'f']]
Truthy

['a', 'a', 'f']
[['a', 'c', 'f'], ['a', 'd'], ['b', 'c']]
Falsey

['x', 'y', 'z', 'w']
[['x', 'y'], ['x', 'y'], ['z', 'w'], ['x', 'y']]
Falsey

['p', 'q', 'r', 's', 't']
[['p', 'q', 'r'], ['r', 'q', 'p'], ['r'], ['s', 't'], ['p', 'q', 'r', 's', 't']]
Truthy

['p', 'q', 'r', 's', 't']
[['p', 'q', 'r', 's', 't'], ['p', 'q', 'r', 's'], ['p', 'q', 'r'], ['p', 'q'], ['p']]
Truthy


Test cases (String format):

"abcd"
"abc def bcd cg"
Truthy

"aaa"  
"abc ade abef"
Truthy

"aaf"
"acf ad bc"
Falsey

"xyzw"
"xy xy zw xy"
Falsey

"pqrst"
"pqr rqp r st pqrst"
Truthy

"pqrst"
"pqrst pqrs pqr pq p"
Truthy


Lastly, this is codegolf so the answer with the least number of bytes wins. Please refrain from using any standard-loopholes.
Python 2, 68 bytes

One of the few cases where itertools is useful.



lambda b,a:s(b)in map(s,product(*a))
s=sorted
from itertools import*


Try it online!