not able to understand behaviour of ** operator
<p>I have suddenly came across this, I am not able to understand why this is happening !!!</p>

<p>On python prompt,
using ** 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

BUT "//" operator is supporting and giving correct results
in this kind of operations, that is

&gt;&gt;&gt; 4//4//4
0
&gt;&gt;&gt; 40//4//6
1
</code></pre>

<p>please help me to understand.</p>
