title: Destroy the graph in minimum number of steps
body: <p>There is a directed acyclic graph with N vertices and M edges. The aim is to destroy the graph - by deleting all of its vertices in <strong>minimum</strong> number of steps.</p>
  
  <hr>
  
  <p>Rules for deletion in one step:</p>
  
  <ol>
  <li>At most 2 vertices can be deleted.</li>
  <li>A vertex can only be deleted if there is no edge from it to any non deleted vertex.</li>
  <li>If two vertices are deleted in one step there must not be an edge between them.</li>
  </ol>
  
  <p><em>Constraints</em> : N,M &lt;= 10^6, and graph has no self loops and cycles.</p>