별 수호자 룰루
시간 제한1초메모리 제한1024 MB
1부터 N까지의 수를 K개씩 N/K개 조로 나누어 어느 조의 합도 K로 나누어떨어지지 않게 만들고, 불가능하면 NO를 출력한다.
문제
온 우주의 별을 수호하는 임무를 맡은 룰루는 자신의 일을 분담할 명의 별 수호자를 선발했다. 별 수호자는 전투력이라는 고유한 수치를 가지며 번 신입 별 수호자의 전투력 의 값은 다.
룰루는 모든 신입 별 수호자가 명씩 하나의 조를 이루도록 총 개의 조를 만들고, 각 조를 하나의 별에 배정하려고 한다. 이때 은 로 나누어떨어진다. 다만 조를 별에 배정할 때는 다음과 같은 주의사항이 있다.
같은 별에 배정된 별 수호자들의 전투력의 합이 로 나누어떨어지면 별이 붕괴하기 시작한다!
수학에 약한 룰루를 위해 별이 붕괴하지 않도록 별 수호자들을 어떻게 배정해야 하는지 알려주도록 하자!
입력
첫 번째 줄에 정수 과 가 공백을 사이에 두고 주어진다. 은 로 나누어떨어진다.
출력
첫 번째 줄에 어느 별도 붕괴하지 않도록 모든 별 수호자를 배정하는 것이 가능하다면 YES, 아니면 NO를 출력한다.
가능한 경우가 존재한다면 그중 하나를 다음 개의 줄에 걸쳐, 같은 별에 배정할 별 수호자의 번호를 한 줄에 개씩 공백을 사이에 두고 출력한다.