// SPDX-License-Identifier: MIT pragma solidity >= 0.6.12; /** @title Compute Inverse by Modular Exponentiation @notice Compute $input^(N - 2) mod N$ using Addition Chain method. Where N = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47 and N - 2 = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45 @dev the function body is generated with the modified addchain script see https://github.com/kobigurk/addchain/commit/2c37a2ace567a9bdc680b4e929c94aaaa3ec700f */ library ModexpInverse { function run(uint256 t2) internal pure returns (uint256 t0) { // solium-disable-next-line security/no-inline-assembly assembly { let n := 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47 t0 := mulmod(t2, t2, n) let t5 := mulmod(t0, t2, n) let t1 := mulmod(t5, t0, n) let t3 := mulmod(t5, t5, n) let t8 := mulmod(t1, t0, n) let t4 := mulmod(t3, t5, n) let t6 := mulmod(t3, t1, n) t0 := mulmod(t3, t3, n) let t7 := mulmod(t8, t3, n) t3 := mulmod(t4, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) } } } /** @title Compute Squre Root by Modular Exponentiation @notice Compute $input^{(N + 1) / 4} mod N$ using Addition Chain method. Where N = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47 and (N + 1) / 4 = 0xc19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52 */ library ModexpSqrt { function run(uint256 t6) internal pure returns (uint256 t0) { // solium-disable-next-line security/no-inline-assembly assembly { let n := 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47 t0 := mulmod(t6, t6, n) let t4 := mulmod(t0, t6, n) let t2 := mulmod(t4, t0, n) let t3 := mulmod(t4, t4, n) let t8 := mulmod(t2, t0, n) let t1 := mulmod(t3, t4, n) let t5 := mulmod(t3, t2, n) t0 := mulmod(t3, t3, n) let t7 := mulmod(t8, t3, n) t3 := mulmod(t1, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t8, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t7, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t6, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t5, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t4, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t3, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t2, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t0, n) t0 := mulmod(t0, t1, n) t0 := mulmod(t0, t0, n) } } }