I was thinking in solving the following problem for the general case :

**) Given a list of pairs $((n_i, A_i))_{i=1}^k$, where for each $i$ we have that $n_i $ is a non-negative integer, and $A_i$ is a set, does there exist a set $A$ such that $|A\cap A_i|=n_i$?

Example 1 : Given as an input the list : $(3, \{a,b,c\}), (4, \{a,b,c,d,e,f\}), (2, \{a,b,c,d\})$ the answer will be negative, because from the first set we are forced to take all the 3 elements $a$,$b$ and $c$ but from the last set we must take just 2 elements but it's already containing 3 elements that we forced to pick.

Example 2 : Given as an input the list : $(2, \{a,b,c\}), (3, \{a,b,c,d\}), (4, \{a,b,c,d,e,f\})$
the answer is positive, for instance we can pick $\{a,b,d,f\}$.

My question is : is the General case of this problem solvable in Exp,SubExp,Quasi-Poly,Poly time ? space ?