問題
임의의 정수 n(n≤1,000,000)을 서로 다른 팩토리얼들의 합으로 나타낼 수 있는지 판단하는 프로그램을 작성하라.
9의 경우 9=1!+2!+3!로 나타낼 수 있으며, 7의 경우 7=1!+3!로 표현이 가능하다. 하지만 1!+1!와 같이 동일한 팩토리얼이 2개 이상 들어가는 경우는 서로 다른 팩토리얼들의 합이 아니다.
0!과 1!은 값이 같으나 이는 서로 다른 것으로 취급한다.
入力
한 줄에 한 개의 정수 n이 입력 된다.
-1이 입력으로 들어오면 종료한다.
出力
매 줄에 입력된 n을 팩토리얼의 합으로 나타낼 수 있으면 "YES", 아닐 경우 "NO"를 출력한다.
例題
9
6
7
-1
YES
NO
YES