As a simple example, suppose that a set formula_33 of people are all seeking jobs from among a set of formula_34 jobs, with not all people suitable for all jobs. This situation can be modeled as a bipartite graph formula_35 where an edge connects each job-seeker with each suitable job. A perfect matching describes a way of simultaneously satisfying all job-seekers and filling all jobs; Hall's marriage theorem provides a characterization of the bipartite graphs which allow perfect matchings. The National Resident Matching Program applies graph matching methods to solve this problem for U.S. medical student job-seekers and hospital residency jobs.