Explaining C++ simple code
<p>So I need help with this code because I can not understand the it to where to get the answer </p>

<pre><code>   #include &lt;iostream&gt; 

    unsigned f( unsigned M, unsigned N ) 
    {
     unsigned Result; 
     if (M == 0)
     {
       Result = N+1; 
     }
     else if (N == 0)
     {
       Result = f( M-1, 1 ); 
     }
     else
      {
       Result = f( M-1, f( M, N-1 ) ); 
     }
     return Result;  
    }
   int main() {

     cout &lt;&lt; f( 1, 3 ) &lt;&lt; endl;        // Line 1 
     cout &lt;&lt; f( 0, f(0,6) ) &lt;&lt; endl;   // Line 2
     return 0;
   }
</code></pre>
