

#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
// n이 완전수인지 판단하기 위해 약수를 전부 더해 저장하는 변수 선언
int count = 0;
// 완전수라면 약수들을 출력해주기 위해 문자열 선언
string log = "";
// 무한반복
while (1) {
// n 입력 받고,
cin >> n;
// 만약 n의 입력이 -1이면 무한반복 나가기
if (n == -1) {
break;
}
// 약수는 n보다 작으니까, n보다 작을때까지 반복
for (int i = 1; i < n; i++) {
// 만약 i가 약수라면
if (n % i == 0) {
// count에 더해주고,
count += i;
// 출력해주기위해 문자열에 약수를 추가
log += to_string(i);
// 마지막 약수라면 " + " 문자열 추가 안함
if (n / i != 2) {
log += " + ";
}
}
}
// n이 완전수라면
if (count == n) {
cout << n << " = " << log << "\n";
} else {
cout << n << " is NOT perfect." << "\n";
}
// 변수들 값 초기화
count = 0;
log = "";
}
}