title: not able to understand behaviour of ** operator
body: <p>I have suddenly came across this, I am not able to understand why this is happening!</p>
  
  <p>On python prompt,
  using the <code>**</code> operator on 3 onwards like below giving wrong result.
  i.e., </p>
  
  <pre><code>&gt;&gt;&gt; 2**2**2
  16
  &gt;&gt;&gt; 3**3**3
  7625597484987L
  &gt;&gt;&gt; 4**4**4
  13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096L
  </code></pre>
  
  <p>Then i thought i must have to use parentheses, so i used it and it is giving correct result.</p>
  
  <pre><code>&gt;&gt;&gt;(3**3)**3
  19683
  </code></pre>
  
  <p>BUT the <code>//</code> operator is supporting and giving correct results
      in this kind of operations, that is</p>
  
  <pre><code>&gt;&gt;&gt; 4//4//4
  0
  &gt;&gt;&gt; 40//4//6
  1
  </code></pre>
  
  <p>please help me to understand.</p>