팩토리얼 분해
시간 제한2초메모리 제한128 MB
10^18 이하의 수가 서로 다른 음이 아닌 정수들의 계승의 합으로 표현되는지 판별합니다.
문제
음이 아닌 정수 N이 주어진다. 서로 다른 음이 아닌 정수 k_1, k_2, ..., k_M (M >= 1)을 골라
N = k_1! + k_2! + ... + k_M!
으로 나타낼 수 있는지 판별하라.
각 정수는 한 번만 사용할 수 있다. 예를 들어 0!와 1!은 서로 다른 정수의 팩토리얼이므로 둘 다 사용할 수 있다.
입력
첫째 줄에 정수 N이 주어진다.
출력
N을 서로 다른 정수들의 팩토리얼 합으로 나타낼 수 있으면 YES, 그렇지 않으면 NO를 출력한다.
제한
0 <= N <= 1,000,000,000,000,000,000