어린이집 아이들
시간 제한2초메모리 제한64 MB
바닥(3k²/2) 종류의 장난감 중에서 n명의 아이 각자에게 서로 다른 k개 이상의 장난감 집합을 주되, 어느 두 아이도 정확히 한 종류만 겹치도록 배정한다.
문제
Sophie는 어린이집에서 일한다. 그녀가 맡은 반에는 명의 아이가 있고, 각 아이에게 서로 다른 종류의 장난감을 최소 개씩 나눠 줘야 한다. 아이들은 장난감의 종류나 같은 종류의 장난감 중 어떤 것을 받는지에 대한 선호가 없다. 장난감은 가지 종류가 있으며, Sophie는 각 종류의 장난감을 무한히 구할 수 있다. 아이들은 짝을 지어 노는 것을 좋아하는데, 두 아이가 함께 놀려면 두 아이 모두 해당 종류의 장난감을 가지고 있는 종류가 정확히 하나 있어야 한다. 그렇지 않으면 두 아이가 가진 장난감 종류가 완전히 달라 함께 놀기 어렵거나, 공통 종류가 여러 개라 선택지가 생겨 혼란스러워한다. 또한 각 아이는 특별해지고 싶어 하므로, 어떤 두 아이도 같은 장난감 종류 집합을 가질 수 없다. Sophie를 도와 각 아이가 받을 장난감 종류 집합을 계산하여, 모든 아이 쌍이 함께 놀 수 있도록 하는 프로그램을 작성하시오.
입력
입력의 첫 줄에는 공백으로 구분된 두 양의 정수 과 가 주어진다. (, )
출력
출력에는 개의 줄을 써야 한다. 번째 줄은 자연수 로 시작해야 한다. 는 번째 아이가 받는 장난감의 개수이며, 그 뒤에 공백 하나와 개의 서로 다른 장난감 종류, 즉 집합 에 속하는 자연수들이 공백으로 구분되어 이어진다.
힌트
첫 번째 예시에는 아이가 세 명 있고, 각 아이는 총 가지 장난감 종류 중에서 최소 세 개를 받아야 한다. 주어진 답에서 모든 아이 쌍은 종류 의 장난감을 공통으로 가진다(다른 공통 종류는 없다).
두 번째 예시에는 아이가 다섯 명 있고, 각 아이는 서로 다른 장난감 종류를 최소 네 개씩 받아야 하며, 장난감은 가지 종류 로 이루어진다. 주어진 답에서 두 번째 아이를 포함하지 않는 아이 쌍은 장난감 을 공통으로 가지고, 두 번째 아이와 각각 첫 번째, 세 번째, 네 번째, 다섯 번째 아이로 이루어진 쌍은 공통으로 종류 의 장난감을 가진다.