두 문자 * 와 ! 로만 이루어진 문자열을 다룹니다. 문자열의 길이가 정해져 있을 때, 다음 두 조건을 동시에 만족하는 문자열을 모두 나열하려고 합니다.
* 는 연속으로 최대 nstar 개까지만 올 수 있습니다.! 는 연속으로 최대 nbang 개까지만 올 수 있습니다.문자열의 길이, * 의 최대 연속 개수, ! 의 최대 연속 개수를 입력받아 조건을 만족하는 모든 문자열을 사전순으로 출력하는 프로그램을 작성하세요. 이때 * 가 ! 보다 앞선다고 봅니다.
입력은 여러 줄로 이루어집니다. 각 줄에는 세 정수 n, nstar, nbang 이 주어지며 1≤n≤10 입니다. 세 값이 모두 0 인 줄 (0 0 0) 이 나오면 입력이 끝나며, 그 줄은 처리하지 않습니다.
입력 줄을 나온 순서대로 1 번부터 번호를 매깁니다. k 번째 줄에 대해 먼저 머리글 Sequence set k 를 출력하고, 이어서 길이가 n 이면서 * 가 연속으로 nstar 개를 넘지 않고 ! 가 연속으로 nbang 개를 넘지 않는 모든 문자열을 한 줄에 하나씩 출력합니다. 문자열은 * 가 ! 보다 앞서는 사전순으로 정렬합니다. 조건을 만족하는 문자열이 하나도 없으면 그 경우에는 머리글만 출력합니다.