d = {6:'1 + 2 + 3',28:'1 + 2 + 4 + 7 + 14',496:'1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248',8128:'1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064'}
while True:
    n = int(input())
    if n == -1: break
    if n in d.keys(): print(f"{n} = {d[n]}")
    else: print(f"{n} is NOT perfect.")



10만 이하의 완전수 판별인데

첫 5개의 완전수를 외우고 있어서 완전수는 입력 중 4개라 저렇게 코드 짰는데

아무리 봐도 개꼼수같음

PS에는 알맞지 않은 것 같다