#NEWLINE# def core( n , o , i , k , c ) : #NEWLINE# #INDENT# assert ( ( n % 2 ) == 0 ) #NEWLINE# x = [ c [ 0 ] , c [ 1 ] , c [ 2 ] , c [ 3 ] , k [ 0 ] , k [ 1 ] , k [ 2 ] , k [ 3 ] , k [ 4 ] , k [ 5 ] , k [ 6 ] , k [ 7 ] , i [ 0 ] , i [ 1 ] , i [ 2 ] , i [ 3 ] ] #NEWLINE# y = x [ 0 : 16 ] #NEWLINE# for r in range ( ( n / 2 ) ) : #NEWLINE# #INDENT# quarterround ( y , 0 , 4 , 8 , 12 ) #NEWLINE# quarterround ( y , 1 , 5 , 9 , 13 ) #NEWLINE# quarterround ( y , 2 , 6 , 10 , 14 ) #NEWLINE# quarterround ( y , 3 , 7 , 11 , 15 ) #NEWLINE# quarterround ( y , 0 , 5 , 10 , 15 ) #NEWLINE# quarterround ( y , 1 , 6 , 11 , 12 ) #NEWLINE# quarterround ( y , 2 , 7 , 8 , 13 ) #NEWLINE# quarterround ( y , 3 , 4 , 9 , 14 ) #NEWLINE# #UNINDENT# o [ 0 ] = ( ( x [ 0 ] + y [ 0 ] ) & 4294967295 ) #NEWLINE# o [ 1 ] = ( ( x [ 1 ] + y [ 1 ] ) & 4294967295 ) #NEWLINE# o [ 2 ] = ( ( x [ 2 ] + y [ 2 ] ) & 4294967295 ) #NEWLINE# o [ 3 ] = ( ( x [ 3 ] + y [ 3 ] ) & 4294967295 ) #NEWLINE# o [ 4 ] = ( ( x [ 4 ] + y [ 4 ] ) & 4294967295 ) #NEWLINE# o [ 5 ] = ( ( x [ 5 ] + y [ 5 ] ) & 4294967295 ) #NEWLINE# o [ 6 ] = ( ( x [ 6 ] + y [ 6 ] ) & 4294967295 ) #NEWLINE# o [ 7 ] = ( ( x [ 7 ] + y [ 7 ] ) & 4294967295 ) #NEWLINE# o [ 8 ] = ( ( x [ 8 ] + y [ 8 ] ) & 4294967295 ) #NEWLINE# o [ 9 ] = ( ( x [ 9 ] + y [ 9 ] ) & 4294967295 ) #NEWLINE# o [ 10 ] = ( ( x [ 10 ] + y [ 10 ] ) & 4294967295 ) #NEWLINE# o [ 11 ] = ( ( x [ 11 ] + y [ 11 ] ) & 4294967295 ) #NEWLINE# o [ 12 ] = ( ( x [ 12 ] + y [ 12 ] ) & 4294967295 ) #NEWLINE# o [ 13 ] = ( ( x [ 13 ] + y [ 13 ] ) & 4294967295 ) #NEWLINE# o [ 14 ] = ( ( x [ 14 ] + y [ 14 ] ) & 4294967295 ) #NEWLINE# o [ 15 ] = ( ( x [ 15 ] + y [ 15 ] ) & 4294967295 )