Solution:```# Topic: https://en.wikipedia.org/wiki/Modular_multiplicative_inverse# Extended Euclidean algorithmdef xgcd(x,y):    a0 = 1; b0 = 0;    a1 = 0; b1 = 1;    if x < 0:    	x *= -1    	a0 = -1    if y < 0:    	y *= -1    	b1 = -1    if x < y:    	x, y, a0, b0, a1, b1 = y, x, a1, b1, a0, b0    while 1:    	times = x / y    	x -= times * y    	a0 -= times * a1    	b0 -= times * b1    	if x == 0:    		break    	x, y, a0, b0, a1, b1 = y, x, a1, b1, a0, b0    return [y, a1, b1]
# Find multiplicative inversedef invmod(x,p):	[gcd, a, b] = xgcd(x,p)	if gcd != 1:		raise ValueError	if a < 0:		a += p	return a
# Hardcode array from reverse.apkarray = [    0x271986b, 0xa64239c9, 0x271ded4b, 0x1186143, 0xc0fa229f, 0x690e10bf,    0x28dca257, 0x16c699d1, 0x55a56ffd, 0x7eb870a1, 0xc5c9799f, 0x2f838e65]
# Find bytes of flagres = ""for elem in array:    # Find multiplicative inverse    a = invmod(elem, 0x100000000)    # Dword -> chars    s = 0    for i in range(4):        res += chr((a >> s) & 0xFF)        s += 8# Flagprint (res)```