finding disjoint subsets of a family of k-sets This problem is from Combinatorial Mathematics by Douglas West, problem 6.1.32:

Let $A_1,A_2,\cdots A_m$ be $k$-sets such that each element of the union lies in at most $l$ sets.
Prove that there exist disjoint $B_1,B_2,\cdots B_m$ of size $\lfloor \frac{k}{l}\rfloor$ such that $B_i \subseteq A_i$ for all $i$. (T. Jiang)

First of all, let's get rid of $k<l$ because we can just let $B_i=\emptyset$ for all $i$. Since this is in the section of matchings and Hall's therorem, I tried to prove that $A_1,A_2,\cdots A_m$ have an SDR:
Take $I=\{i_1,i_2,\cdots, i_{t}\}$. $|\cup_{i\in I}A_i|$ is the number of distinct elements in the sets $A_{i_1},A_{i_2},\cdots A_{i_t}$. since these sets have $k\times |I|$ elements in total (not all distinct) and each element can be in at most $l$ sets, we should have $$|\cup_{i\in I}A_i|\times l\geq k\times |I|\Longrightarrow |\cup_{i\in I}A_i| \geq \frac{k}{l}\times |I|\geq |I|$$
because $k\geq l$, which shows that Hall's condition is satisfied. Therefore, we have an SDR. (actually we can keep going and find $k-l$ SDRs!)
However, I don't know what to do here, specially I don't know why $\lfloor \frac{k}{l}\rfloor$ appears. Also induction didn't work for me in any way!
Any hints, ideas or solutions are appreciated.
 A: As we want $B_i$ to contain $\lfloor k/l \rfloor$ elements, we should try to find a matching with that much edges for each $B_i$. Let's make a bipartite graph $G = (V,U,E)$ with $U = \bigcup_{i \in I} A_i$ and $V = \{v_{i,j} : i \in I, j \in \{1,\ldots,\lfloor k/l \rfloor\}\}$, and $E = \{v_{i,j}u : u \in A_i\}$. Apply Hall's theorem on this graph to prove that there is a matching M covering $V$ (this is similar to what you did), and take $B_i = \{u \in U : \exists j \in \{1,\ldots,\lfloor k/l \rfloor\}, v_{i,j}u \in M\}$.
More generally, we can use the following extension of Hall's theorem to $b$-matchings:
Theorem: Let $G = (A,B,E)$ a bipartite graph and $b : A \cup B \to \mathbb{N}$. A $b$-matching of $G$ is a subgraph $H$ of $G$ with $d_H(u) = b(u)$ for all $u \in A$ and $d_H(v) \leq b(v)$ for all $v \in B$. $G$ has a $b$-matching if and only if for each $A' \subseteq A$, $\sum_{u \in A'} b(u) \leq \sum_{v \in N(A')} b(v)$ where $N(A') = \bigcup_{u \in A'} N(u)$ is the neighborhood of $A'$.
This can be proved using the same trick of replicating $b(u)$ times each vertex $u \in A \cup B$. The case when $b$ is uniformly $1$ is Hall's theorem. For your problem, you want $b$ to be $1$ on $U$ and $\lfloor k/l \rfloor$ on $I$.
