title: Assigning jobs to people using Maximum Flow, harder version
body: <p>I am self studying max flow and there was this problem:</p>
  <h3>the original problem is</h3>
  <ul>
  <li><p>Suppose we have a list of jobs</p>
  <p>{J1, J1,..., Jm}</p>
  </li>
  <li><p>and a list of people that have applied for them</p>
  <p>{P1, P2, P3,...,Pn}</p>
  </li>
  <li><p>each person have different interests and some of them have applied for multiple jobs (each person has a list of jobs they can do)</p>
  </li>
  <li><p>nobody is allowed to do more than 3 jobs.</p>
  </li>
  </ul>
  <p>so, this problem can be solved by finding a maximum flow in the graph below
  <img src="https://i.stack.imgur.com/7UJqC.png" alt="enter image description here" /></p>
  <p>I understand this solution, but</p>
  <h3>the harder version of the problem</h3>
  <p>what if these conditions are added?</p>
  <ul>
  <li><p>the first 3 conditions of the easy version (lists of jobs and persons and each person has a list of interests or abilities) are still the same</p>
  </li>
  <li><p>the compony is employing only Vi persons for job Ji</p>
  </li>
  <li><p>the compony wants to employ as many people as possible</p>
  </li>
  <li><p>there is no limitations for the number of jobs a person is allowed to do.</p>
  </li>
  </ul>
  <p>What difference should I make in the graph so that my solution can satisfy those conditions as well?or if I need a different approach please tell me.</p>
  <p>before anyone say anything, this is not homework. It's just self study, but I am studying Maximum flow and the problem was in that area so the solution should use Maximum flow.</p>