Pantry Paths: Find Every Recipe You Can Assemble

Your pantry starts with a set of supplies. Each recipe has a name and a list of things it needs. A needed thing may be a starting supply or another recipe that becomes available after it is prepared.

Return every recipe that can eventually be prepared. You may prepare recipes in any order, and a newly prepared recipe becomes an available ingredient immediately. Return successful recipe names in the same order as recipes. Dependency circles without a starting supply are not possible to enter.

Examples
Input: [["toast","sandwich"],[["bread"],["toast","cheese"]],["bread","cheese"]]
Output: ["toast","sandwich"]
Hints
Related Problems

Pantry Paths: Find Every Recipe You Can Assemble

Your pantry starts with a set of supplies. Each recipe has a name and a list of things it needs. A needed thing may be a starting supply or another recipe that becomes available after it is prepared.