int
power( int n, int pow )
{
    if( pow <= 0 )
        return 1;
    if( pow & 0x1 )
        return n * power( n * n, --pow >> 1 );

    return power( n * n, pow >> 1 );
}