import random
def easy_solve(num1, num2, ans):
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
input = (num1 + num2 + ans)
nums_used = input.replace('x', '')
[nums.remove(int(i)) for i in nums_used]
no_answer = True
while no_answer:
temp_input = input[:]
temp_nums = nums[:]
while 'x' in temp_input:
for i in range(0, len(input)):
if temp_input[i] == 'x':
rand_num = random.randrange(0, len(temp_nums))
temp_input = temp_input[:i] + str(temp_nums[rand_num]) + temp_input[i+1:]
temp_nums.remove(temp_nums[rand_num])
num1 = int(temp_input[0] + temp_input[1] + temp_input[2])
num2 = int(temp_input[3] + temp_input[4] + temp_input[5])
ans = int(temp_input[6] + temp_input[7] + temp_input[8])
if num1 + num2 == ans:
no_answer = False
print(str(num1) + ' + ' + str(num2) + ' = ' + str(ans))
easy_solve('1xx', 'xxx', '468')
easy_solve('xxx', 'x81', '9x4')
easy_solve('xxx', '39x', 'x75')
easy_solve('xxx', '5x1', '86x')
aW1wb3J0IHJhbmRvbQoKCmRlZiBlYXN5X3NvbHZlKG51bTEsIG51bTIsIGFucyk6CiAgICBudW1zID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldCiAgICBpbnB1dCA9IChudW0xICsgbnVtMiArIGFucykKICAgIG51bXNfdXNlZCA9IGlucHV0LnJlcGxhY2UoJ3gnLCAnJykKICAgIFtudW1zLnJlbW92ZShpbnQoaSkpIGZvciBpIGluIG51bXNfdXNlZF0KICAgIG5vX2Fuc3dlciA9IFRydWUKICAgIHdoaWxlIG5vX2Fuc3dlcjoKICAgICAgICB0ZW1wX2lucHV0ID0gaW5wdXRbOl0KICAgICAgICB0ZW1wX251bXMgPSBudW1zWzpdCiAgICAgICAgd2hpbGUgJ3gnIGluIHRlbXBfaW5wdXQ6CiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihpbnB1dCkpOgogICAgICAgICAgICAgICAgaWYgdGVtcF9pbnB1dFtpXSA9PSAneCc6CiAgICAgICAgICAgICAgICAgICAgcmFuZF9udW0gPSByYW5kb20ucmFuZHJhbmdlKDAsIGxlbih0ZW1wX251bXMpKQogICAgICAgICAgICAgICAgICAgIHRlbXBfaW5wdXQgPSB0ZW1wX2lucHV0WzppXSArIHN0cih0ZW1wX251bXNbcmFuZF9udW1dKSArIHRlbXBfaW5wdXRbaSsxOl0KICAgICAgICAgICAgICAgICAgICB0ZW1wX251bXMucmVtb3ZlKHRlbXBfbnVtc1tyYW5kX251bV0pCiAgICAgICAgbnVtMSA9IGludCh0ZW1wX2lucHV0WzBdICsgdGVtcF9pbnB1dFsxXSArIHRlbXBfaW5wdXRbMl0pCiAgICAgICAgbnVtMiA9IGludCh0ZW1wX2lucHV0WzNdICsgdGVtcF9pbnB1dFs0XSArIHRlbXBfaW5wdXRbNV0pCiAgICAgICAgYW5zID0gaW50KHRlbXBfaW5wdXRbNl0gKyB0ZW1wX2lucHV0WzddICsgdGVtcF9pbnB1dFs4XSkKICAgICAgICBpZiBudW0xICsgbnVtMiA9PSBhbnM6CiAgICAgICAgICAgIG5vX2Fuc3dlciA9IEZhbHNlCiAgICBwcmludChzdHIobnVtMSkgKyAnICsgJyArIHN0cihudW0yKSArICcgPSAnICsgc3RyKGFucykpCgplYXN5X3NvbHZlKCcxeHgnLCAneHh4JywgJzQ2OCcpCmVhc3lfc29sdmUoJ3h4eCcsICd4ODEnLCAnOXg0JykKZWFzeV9zb2x2ZSgneHh4JywgJzM5eCcsICd4NzUnKQplYXN5X3NvbHZlKCd4eHgnLCAnNXgxJywgJzg2eCcp