fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define TOTAL 21
  5.  
  6. // 32비트 정수의 이진수를 0b... 형식으로 출력하는 함수
  7. void printMask(unsigned int mask) {
  8. printf("0b");
  9. for (int i = 31; i >= 0; i--) {
  10. printf("%d", (mask >> i) & 1);
  11. }
  12. printf("\n");
  13. }
  14.  
  15. // 재귀적으로 조합을 생성하는 함수
  16. // start : 선택할 다음 인덱스의 시작점 (0: z, ... , 20: b)
  17. // count : 지금까지 선택한 문자의 수
  18. // k : 최종 선택해야 하는 문자 수
  19. // mask : 현재까지 설정된 비트마스크 (bit i는 알파벳 [z,y,x,...]에서 i번째, 즉 i=0이면 z, i=20이면 b)
  20. void generateCombinations(int start, int count, int k, unsigned int mask) {
  21. if (count == k) {
  22. printMask(mask);
  23. return;
  24. }
  25. // 남은 원소들 중에서 하나씩 선택
  26. for (int i = start; i < TOTAL; i++) {
  27. // i번째 알파벳에 해당하는 비트를 설정하고 다음을 재귀 호출
  28. generateCombinations(i + 1, count + 1, k, mask | (1U << i));
  29. }
  30. }
  31.  
  32. int main(void) {
  33. int k;
  34. printf("0 이상 %d 이하의 k 값을 입력하세요: ", TOTAL);
  35. if (scanf("%d", &k) != 1 || k < 0 || k > TOTAL) {
  36. printf("잘못된 입력입니다.\n");
  37. return 1;
  38. }
  39.  
  40. // 재귀 함수 호출: start=0, count=0, 초기 마스크 0
  41. generateCombinations(0, 0, k, 0);
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5280KB
stdin
3
stdout
0 이상 21 이하의 k 값을 입력하세요: 0b00000000000000000000000000000111
0b00000000000000000000000000001011
0b00000000000000000000000000010011
0b00000000000000000000000000100011
0b00000000000000000000000001000011
0b00000000000000000000000010000011
0b00000000000000000000000100000011
0b00000000000000000000001000000011
0b00000000000000000000010000000011
0b00000000000000000000100000000011
0b00000000000000000001000000000011
0b00000000000000000010000000000011
0b00000000000000000100000000000011
0b00000000000000001000000000000011
0b00000000000000010000000000000011
0b00000000000000100000000000000011
0b00000000000001000000000000000011
0b00000000000010000000000000000011
0b00000000000100000000000000000011
0b00000000000000000000000000001101
0b00000000000000000000000000010101
0b00000000000000000000000000100101
0b00000000000000000000000001000101
0b00000000000000000000000010000101
0b00000000000000000000000100000101
0b00000000000000000000001000000101
0b00000000000000000000010000000101
0b00000000000000000000100000000101
0b00000000000000000001000000000101
0b00000000000000000010000000000101
0b00000000000000000100000000000101
0b00000000000000001000000000000101
0b00000000000000010000000000000101
0b00000000000000100000000000000101
0b00000000000001000000000000000101
0b00000000000010000000000000000101
0b00000000000100000000000000000101
0b00000000000000000000000000011001
0b00000000000000000000000000101001
0b00000000000000000000000001001001
0b00000000000000000000000010001001
0b00000000000000000000000100001001
0b00000000000000000000001000001001
0b00000000000000000000010000001001
0b00000000000000000000100000001001
0b00000000000000000001000000001001
0b00000000000000000010000000001001
0b00000000000000000100000000001001
0b00000000000000001000000000001001
0b00000000000000010000000000001001
0b00000000000000100000000000001001
0b00000000000001000000000000001001
0b00000000000010000000000000001001
0b00000000000100000000000000001001
0b00000000000000000000000000110001
0b00000000000000000000000001010001
0b00000000000000000000000010010001
0b00000000000000000000000100010001
0b00000000000000000000001000010001
0b00000000000000000000010000010001
0b00000000000000000000100000010001
0b00000000000000000001000000010001
0b00000000000000000010000000010001
0b00000000000000000100000000010001
0b00000000000000001000000000010001
0b00000000000000010000000000010001
0b00000000000000100000000000010001
0b00000000000001000000000000010001
0b00000000000010000000000000010001
0b00000000000100000000000000010001
0b00000000000000000000000001100001
0b00000000000000000000000010100001
0b00000000000000000000000100100001
0b00000000000000000000001000100001
0b00000000000000000000010000100001
0b00000000000000000000100000100001
0b00000000000000000001000000100001
0b00000000000000000010000000100001
0b00000000000000000100000000100001
0b00000000000000001000000000100001
0b00000000000000010000000000100001
0b00000000000000100000000000100001
0b00000000000001000000000000100001
0b00000000000010000000000000100001
0b00000000000100000000000000100001
0b00000000000000000000000011000001
0b00000000000000000000000101000001
0b00000000000000000000001001000001
0b00000000000000000000010001000001
0b00000000000000000000100001000001
0b00000000000000000001000001000001
0b00000000000000000010000001000001
0b00000000000000000100000001000001
0b00000000000000001000000001000001
0b00000000000000010000000001000001
0b00000000000000100000000001000001
0b00000000000001000000000001000001
0b00000000000010000000000001000001
0b00000000000100000000000001000001
0b00000000000000000000000110000001
0b00000000000000000000001010000001
0b00000000000000000000010010000001
0b00000000000000000000100010000001
0b00000000000000000001000010000001
0b00000000000000000010000010000001
0b00000000000000000100000010000001
0b00000000000000001000000010000001
0b00000000000000010000000010000001
0b00000000000000100000000010000001
0b00000000000001000000000010000001
0b00000000000010000000000010000001
0b00000000000100000000000010000001
0b00000000000000000000001100000001
0b00000000000000000000010100000001
0b00000000000000000000100100000001
0b00000000000000000001000100000001
0b00000000000000000010000100000001
0b00000000000000000100000100000001
0b00000000000000001000000100000001
0b00000000000000010000000100000001
0b00000000000000100000000100000001
0b00000000000001000000000100000001
0b00000000000010000000000100000001
0b00000000000100000000000100000001
0b00000000000000000000011000000001
0b00000000000000000000101000000001
0b00000000000000000001001000000001
0b00000000000000000010001000000001
0b00000000000000000100001000000001
0b00000000000000001000001000000001
0b00000000000000010000001000000001
0b00000000000000100000001000000001
0b00000000000001000000001000000001
0b00000000000010000000001000000001
0b00000000000100000000001000000001
0b00000000000000000000110000000001
0b00000000000000000001010000000001
0b00000000000000000010010000000001
0b00000000000000000100010000000001
0b00000000000000001000010000000001
0b00000000000000010000010000000001
0b00000000000000100000010000000001
0b00000000000001000000010000000001
0b00000000000010000000010000000001
0b00000000000100000000010000000001
0b00000000000000000001100000000001
0b00000000000000000010100000000001
0b00000000000000000100100000000001
0b00000000000000001000100000000001
0b00000000000000010000100000000001
0b00000000000000100000100000000001
0b00000000000001000000100000000001
0b00000000000010000000100000000001
0b00000000000100000000100000000001
0b00000000000000000011000000000001
0b00000000000000000101000000000001
0b00000000000000001001000000000001
0b00000000000000010001000000000001
0b00000000000000100001000000000001
0b00000000000001000001000000000001
0b00000000000010000001000000000001
0b00000000000100000001000000000001
0b00000000000000000110000000000001
0b00000000000000001010000000000001
0b00000000000000010010000000000001
0b00000000000000100010000000000001
0b00000000000001000010000000000001
0b00000000000010000010000000000001
0b00000000000100000010000000000001
0b00000000000000001100000000000001
0b00000000000000010100000000000001
0b00000000000000100100000000000001
0b00000000000001000100000000000001
0b00000000000010000100000000000001
0b00000000000100000100000000000001
0b00000000000000011000000000000001
0b00000000000000101000000000000001
0b00000000000001001000000000000001
0b00000000000010001000000000000001
0b00000000000100001000000000000001
0b00000000000000110000000000000001
0b00000000000001010000000000000001
0b00000000000010010000000000000001
0b00000000000100010000000000000001
0b00000000000001100000000000000001
0b00000000000010100000000000000001
0b00000000000100100000000000000001
0b00000000000011000000000000000001
0b00000000000101000000000000000001
0b00000000000110000000000000000001
0b00000000000000000000000000001110
0b00000000000000000000000000010110
0b00000000000000000000000000100110
0b00000000000000000000000001000110
0b00000000000000000000000010000110
0b00000000000000000000000100000110
0b00000000000000000000001000000110
0b00000000000000000000010000000110
0b00000000000000000000100000000110
0b00000000000000000001000000000110
0b00000000000000000010000000000110
0b00000000000000000100000000000110
0b00000000000000001000000000000110
0b00000000000000010000000000000110
0b00000000000000100000000000000110
0b00000000000001000000000000000110
0b00000000000010000000000000000110
0b00000000000100000000000000000110
0b00000000000000000000000000011010
0b00000000000000000000000000101010
0b00000000000000000000000001001010
0b00000000000000000000000010001010
0b00000000000000000000000100001010
0b00000000000000000000001000001010
0b00000000000000000000010000001010
0b00000000000000000000100000001010
0b00000000000000000001000000001010
0b00000000000000000010000000001010
0b00000000000000000100000000001010
0b00000000000000001000000000001010
0b00000000000000010000000000001010
0b00000000000000100000000000001010
0b00000000000001000000000000001010
0b00000000000010000000000000001010
0b00000000000100000000000000001010
0b00000000000000000000000000110010
0b00000000000000000000000001010010
0b00000000000000000000000010010010
0b00000000000000000000000100010010
0b00000000000000000000001000010010
0b00000000000000000000010000010010
0b00000000000000000000100000010010
0b00000000000000000001000000010010
0b00000000000000000010000000010010
0b00000000000000000100000000010010
0b00000000000000001000000000010010
0b00000000000000010000000000010010
0b00000000000000100000000000010010
0b00000000000001000000000000010010
0b00000000000010000000000000010010
0b00000000000100000000000000010010
0b00000000000000000000000001100010
0b00000000000000000000000010100010
0b00000000000000000000000100100010
0b00000000000000000000001000100010
0b00000000000000000000010000100010
0b00000000000000000000100000100010
0b00000000000000000001000000100010
0b00000000000000000010000000100010
0b00000000000000000100000000100010
0b00000000000000001000000000100010
0b00000000000000010000000000100010
0b00000000000000100000000000100010
0b00000000000001000000000000100010
0b00000000000010000000000000100010
0b00000000000100000000000000100010
0b00000000000000000000000011000010
0b00000000000000000000000101000010
0b00000000000000000000001001000010
0b00000000000000000000010001000010
0b00000000000000000000100001000010
0b00000000000000000001000001000010
0b00000000000000000010000001000010
0b00000000000000000100000001000010
0b00000000000000001000000001000010
0b00000000000000010000000001000010
0b00000000000000100000000001000010
0b00000000000001000000000001000010
0b00000000000010000000000001000010
0b00000000000100000000000001000010
0b00000000000000000000000110000010
0b00000000000000000000001010000010
0b00000000000000000000010010000010
0b00000000000000000000100010000010
0b00000000000000000001000010000010
0b00000000000000000010000010000010
0b00000000000000000100000010000010
0b00000000000000001000000010000010
0b00000000000000010000000010000010
0b00000000000000100000000010000010
0b00000000000001000000000010000010
0b00000000000010000000000010000010
0b00000000000100000000000010000010
0b00000000000000000000001100000010
0b00000000000000000000010100000010
0b00000000000000000000100100000010
0b00000000000000000001000100000010
0b00000000000000000010000100000010
0b00000000000000000100000100000010
0b00000000000000001000000100000010
0b00000000000000010000000100000010
0b00000000000000100000000100000010
0b00000000000001000000000100000010
0b00000000000010000000000100000010
0b00000000000100000000000100000010
0b00000000000000000000011000000010
0b00000000000000000000101000000010
0b00000000000000000001001000000010
0b00000000000000000010001000000010
0b00000000000000000100001000000010
0b00000000000000001000001000000010
0b00000000000000010000001000000010
0b00000000000000100000001000000010
0b00000000000001000000001000000010
0b00000000000010000000001000000010
0b00000000000100000000001000000010
0b00000000000000000000110000000010
0b00000000000000000001010000000010
0b00000000000000000010010000000010
0b00000000000000000100010000000010
0b00000000000000001000010000000010
0b00000000000000010000010000000010
0b00000000000000100000010000000010
0b00000000000001000000010000000010
0b00000000000010000000010000000010
0b00000000000100000000010000000010
0b00000000000000000001100000000010
0b00000000000000000010100000000010
0b00000000000000000100100000000010
0b00000000000000001000100000000010
0b00000000000000010000100000000010
0b00000000000000100000100000000010
0b00000000000001000000100000000010
0b00000000000010000000100000000010
0b00000000000100000000100000000010
0b00000000000000000011000000000010
0b00000000000000000101000000000010
0b00000000000000001001000000000010
0b00000000000000010001000000000010
0b00000000000000100001000000000010
0b00000000000001000001000000000010
0b00000000000010000001000000000010
0b00000000000100000001000000000010
0b00000000000000000110000000000010
0b00000000000000001010000000000010
0b00000000000000010010000000000010
0b00000000000000100010000000000010
0b00000000000001000010000000000010
0b00000000000010000010000000000010
0b00000000000100000010000000000010
0b00000000000000001100000000000010
0b00000000000000010100000000000010
0b00000000000000100100000000000010
0b00000000000001000100000000000010
0b00000000000010000100000000000010
0b00000000000100000100000000000010
0b00000000000000011000000000000010
0b00000000000000101000000000000010
0b00000000000001001000000000000010
0b00000000000010001000000000000010
0b00000000000100001000000000000010
0b00000000000000110000000000000010
0b00000000000001010000000000000010
0b00000000000010010000000000000010
0b00000000000100010000000000000010
0b00000000000001100000000000000010
0b00000000000010100000000000000010
0b00000000000100100000000000000010
0b00000000000011000000000000000010
0b00000000000101000000000000000010
0b00000000000110000000000000000010
0b00000000000000000000000000011100
0b00000000000000000000000000101100
0b00000000000000000000000001001100
0b00000000000000000000000010001100
0b00000000000000000000000100001100
0b00000000000000000000001000001100
0b00000000000000000000010000001100
0b00000000000000000000100000001100
0b00000000000000000001000000001100
0b00000000000000000010000000001100
0b00000000000000000100000000001100
0b00000000000000001000000000001100
0b00000000000000010000000000001100
0b00000000000000100000000000001100
0b00000000000001000000000000001100
0b00000000000010000000000000001100
0b00000000000100000000000000001100
0b00000000000000000000000000110100
0b00000000000000000000000001010100
0b00000000000000000000000010010100
0b00000000000000000000000100010100
0b00000000000000000000001000010100
0b00000000000000000000010000010100
0b00000000000000000000100000010100
0b00000000000000000001000000010100
0b00000000000000000010000000010100
0b00000000000000000100000000010100
0b00000000000000001000000000010100
0b00000000000000010000000000010100
0b00000000000000100000000000010100
0b00000000000001000000000000010100
0b00000000000010000000000000010100
0b00000000000100000000000000010100
0b00000000000000000000000001100100
0b00000000000000000000000010100100
0b00000000000000000000000100100100
0b00000000000000000000001000100100
0b00000000000000000000010000100100
0b00000000000000000000100000100100
0b00000000000000000001000000100100
0b00000000000000000010000000100100
0b00000000000000000100000000100100
0b00000000000000001000000000100100
0b00000000000000010000000000100100
0b00000000000000100000000000100100
0b00000000000001000000000000100100
0b00000000000010000000000000100100
0b00000000000100000000000000100100
0b00000000000000000000000011000100
0b00000000000000000000000101000100
0b00000000000000000000001001000100
0b00000000000000000000010001000100
0b00000000000000000000100001000100
0b00000000000000000001000001000100
0b00000000000000000010000001000100
0b00000000000000000100000001000100
0b00000000000000001000000001000100
0b00000000000000010000000001000100
0b00000000000000100000000001000100
0b00000000000001000000000001000100
0b00000000000010000000000001000100
0b00000000000100000000000001000100
0b00000000000000000000000110000100
0b00000000000000000000001010000100
0b00000000000000000000010010000100
0b00000000000000000000100010000100
0b00000000000000000001000010000100
0b00000000000000000010000010000100
0b00000000000000000100000010000100
0b00000000000000001000000010000100
0b00000000000000010000000010000100
0b00000000000000100000000010000100
0b00000000000001000000000010000100
0b00000000000010000000000010000100
0b00000000000100000000000010000100
0b00000000000000000000001100000100
0b00000000000000000000010100000100
0b00000000000000000000100100000100
0b00000000000000000001000100000100
0b00000000000000000010000100000100
0b00000000000000000100000100000100
0b00000000000000001000000100000100
0b00000000000000010000000100000100
0b00000000000000100000000100000100
0b00000000000001000000000100000100
0b00000000000010000000000100000100
0b00000000000100000000000100000100
0b00000000000000000000011000000100
0b00000000000000000000101000000100
0b00000000000000000001001000000100
0b00000000000000000010001000000100
0b00000000000000000100001000000100
0b00000000000000001000001000000100
0b00000000000000010000001000000100
0b00000000000000100000001000000100
0b00000000000001000000001000000100
0b00000000000010000000001000000100
0b00000000000100000000001000000100
0b00000000000000000000110000000100
0b00000000000000000001010000000100
0b00000000000000000010010000000100
0b00000000000000000100010000000100
0b00000000000000001000010000000100
0b00000000000000010000010000000100
0b00000000000000100000010000000100
0b00000000000001000000010000000100
0b00000000000010000000010000000100
0b00000000000100000000010000000100
0b00000000000000000001100000000100
0b00000000000000000010100000000100
0b00000000000000000100100000000100
0b00000000000000001000100000000100
0b00000000000000010000100000000100
0b00000000000000100000100000000100
0b00000000000001000000100000000100
0b00000000000010000000100000000100
0b00000000000100000000100000000100
0b00000000000000000011000000000100
0b00000000000000000101000000000100
0b00000000000000001001000000000100
0b00000000000000010001000000000100
0b00000000000000100001000000000100
0b00000000000001000001000000000100
0b00000000000010000001000000000100
0b00000000000100000001000000000100
0b00000000000000000110000000000100
0b00000000000000001010000000000100
0b00000000000000010010000000000100
0b00000000000000100010000000000100
0b00000000000001000010000000000100
0b00000000000010000010000000000100
0b00000000000100000010000000000100
0b00000000000000001100000000000100
0b00000000000000010100000000000100
0b00000000000000100100000000000100
0b00000000000001000100000000000100
0b00000000000010000100000000000100
0b00000000000100000100000000000100
0b00000000000000011000000000000100
0b00000000000000101000000000000100
0b00000000000001001000000000000100
0b00000000000010001000000000000100
0b00000000000100001000000000000100
0b00000000000000110000000000000100
0b00000000000001010000000000000100
0b00000000000010010000000000000100
0b00000000000100010000000000000100
0b00000000000001100000000000000100
0b00000000000010100000000000000100
0b00000000000100100000000000000100
0b00000000000011000000000000000100
0b00000000000101000000000000000100
0b00000000000110000000000000000100
0b00000000000000000000000000111000
0b00000000000000000000000001011000
0b00000000000000000000000010011000
0b00000000000000000000000100011000
0b00000000000000000000001000011000
0b00000000000000000000010000011000
0b00000000000000000000100000011000
0b00000000000000000001000000011000
0b00000000000000000010000000011000
0b00000000000000000100000000011000
0b00000000000000001000000000011000
0b00000000000000010000000000011000
0b00000000000000100000000000011000
0b00000000000001000000000000011000
0b00000000000010000000000000011000
0b00000000000100000000000000011000
0b00000000000000000000000001101000
0b00000000000000000000000010101000
0b00000000000000000000000100101000
0b00000000000000000000001000101000
0b00000000000000000000010000101000
0b00000000000000000000100000101000
0b00000000000000000001000000101000
0b00000000000000000010000000101000
0b00000000000000000100000000101000
0b00000000000000001000000000101000
0b00000000000000010000000000101000
0b00000000000000100000000000101000
0b00000000000001000000000000101000
0b00000000000010000000000000101000
0b00000000000100000000000000101000
0b00000000000000000000000011001000
0b00000000000000000000000101001000
0b00000000000000000000001001001000
0b00000000000000000000010001001000
0b00000000000000000000100001001000
0b00000000000000000001000001001000
0b00000000000000000010000001001000
0b00000000000000000100000001001000
0b00000000000000001000000001001000
0b00000000000000010000000001001000
0b00000000000000100000000001001000
0b00000000000001000000000001001000
0b00000000000010000000000001001000
0b00000000000100000000000001001000
0b00000000000000000000000110001000
0b00000000000000000000001010001000
0b00000000000000000000010010001000
0b00000000000000000000100010001000
0b00000000000000000001000010001000
0b00000000000000000010000010001000
0b00000000000000000100000010001000
0b00000000000000001000000010001000
0b00000000000000010000000010001000
0b00000000000000100000000010001000
0b00000000000001000000000010001000
0b00000000000010000000000010001000
0b00000000000100000000000010001000
0b00000000000000000000001100001000
0b00000000000000000000010100001000
0b00000000000000000000100100001000
0b00000000000000000001000100001000
0b00000000000000000010000100001000
0b00000000000000000100000100001000
0b00000000000000001000000100001000
0b00000000000000010000000100001000
0b00000000000000100000000100001000
0b00000000000001000000000100001000
0b00000000000010000000000100001000
0b00000000000100000000000100001000
0b00000000000000000000011000001000
0b00000000000000000000101000001000
0b00000000000000000001001000001000
0b00000000000000000010001000001000
0b00000000000000000100001000001000
0b00000000000000001000001000001000
0b00000000000000010000001000001000
0b00000000000000100000001000001000
0b00000000000001000000001000001000
0b00000000000010000000001000001000
0b00000000000100000000001000001000
0b00000000000000000000110000001000
0b00000000000000000001010000001000
0b00000000000000000010010000001000
0b00000000000000000100010000001000
0b00000000000000001000010000001000
0b00000000000000010000010000001000
0b00000000000000100000010000001000
0b00000000000001000000010000001000
0b00000000000010000000010000001000
0b00000000000100000000010000001000
0b00000000000000000001100000001000
0b00000000000000000010100000001000
0b00000000000000000100100000001000
0b00000000000000001000100000001000
0b00000000000000010000100000001000
0b00000000000000100000100000001000
0b00000000000001000000100000001000
0b00000000000010000000100000001000
0b00000000000100000000100000001000
0b00000000000000000011000000001000
0b00000000000000000101000000001000
0b00000000000000001001000000001000
0b00000000000000010001000000001000
0b00000000000000100001000000001000
0b00000000000001000001000000001000
0b00000000000010000001000000001000
0b00000000000100000001000000001000
0b00000000000000000110000000001000
0b00000000000000001010000000001000
0b00000000000000010010000000001000
0b00000000000000100010000000001000
0b00000000000001000010000000001000
0b00000000000010000010000000001000
0b00000000000100000010000000001000
0b00000000000000001100000000001000
0b00000000000000010100000000001000
0b00000000000000100100000000001000
0b00000000000001000100000000001000
0b00000000000010000100000000001000
0b00000000000100000100000000001000
0b00000000000000011000000000001000
0b00000000000000101000000000001000
0b00000000000001001000000000001000
0b00000000000010001000000000001000
0b00000000000100001000000000001000
0b00000000000000110000000000001000
0b00000000000001010000000000001000
0b00000000000010010000000000001000
0b00000000000100010000000000001000
0b00000000000001100000000000001000
0b00000000000010100000000000001000
0b00000000000100100000000000001000
0b00000000000011000000000000001000
0b00000000000101000000000000001000
0b00000000000110000000000000001000
0b00000000000000000000000001110000
0b00000000000000000000000010110000
0b00000000000000000000000100110000
0b00000000000000000000001000110000
0b00000000000000000000010000110000
0b00000000000000000000100000110000
0b00000000000000000001000000110000
0b00000000000000000010000000110000
0b00000000000000000100000000110000
0b00000000000000001000000000110000
0b00000000000000010000000000110000
0b00000000000000100000000000110000
0b00000000000001000000000000110000
0b00000000000010000000000000110000
0b00000000000100000000000000110000
0b00000000000000000000000011010000
0b00000000000000000000000101010000
0b00000000000000000000001001010000
0b00000000000000000000010001010000
0b00000000000000000000100001010000
0b00000000000000000001000001010000
0b00000000000000000010000001010000
0b00000000000000000100000001010000
0b00000000000000001000000001010000
0b00000000000000010000000001010000
0b00000000000000100000000001010000
0b00000000000001000000000001010000
0b00000000000010000000000001010000
0b00000000000100000000000001010000
0b00000000000000000000000110010000
0b00000000000000000000001010010000
0b00000000000000000000010010010000
0b00000000000000000000100010010000
0b00000000000000000001000010010000
0b00000000000000000010000010010000
0b00000000000000000100000010010000
0b00000000000000001000000010010000
0b00000000000000010000000010010000
0b00000000000000100000000010010000
0b00000000000001000000000010010000
0b00000000000010000000000010010000
0b00000000000100000000000010010000
0b00000000000000000000001100010000
0b00000000000000000000010100010000
0b00000000000000000000100100010000
0b00000000000000000001000100010000
0b00000000000000000010000100010000
0b00000000000000000100000100010000
0b00000000000000001000000100010000
0b00000000000000010000000100010000
0b00000000000000100000000100010000
0b00000000000001000000000100010000
0b00000000000010000000000100010000
0b00000000000100000000000100010000
0b00000000000000000000011000010000
0b00000000000000000000101000010000
0b00000000000000000001001000010000
0b00000000000000000010001000010000
0b00000000000000000100001000010000
0b00000000000000001000001000010000
0b00000000000000010000001000010000
0b00000000000000100000001000010000
0b00000000000001000000001000010000
0b00000000000010000000001000010000
0b00000000000100000000001000010000
0b00000000000000000000110000010000
0b00000000000000000001010000010000
0b00000000000000000010010000010000
0b00000000000000000100010000010000
0b00000000000000001000010000010000
0b00000000000000010000010000010000
0b00000000000000100000010000010000
0b00000000000001000000010000010000
0b00000000000010000000010000010000
0b00000000000100000000010000010000
0b00000000000000000001100000010000
0b00000000000000000010100000010000
0b00000000000000000100100000010000
0b00000000000000001000100000010000
0b00000000000000010000100000010000
0b00000000000000100000100000010000
0b00000000000001000000100000010000
0b00000000000010000000100000010000
0b00000000000100000000100000010000
0b00000000000000000011000000010000
0b00000000000000000101000000010000
0b00000000000000001001000000010000
0b00000000000000010001000000010000
0b00000000000000100001000000010000
0b00000000000001000001000000010000
0b00000000000010000001000000010000
0b00000000000100000001000000010000
0b00000000000000000110000000010000
0b00000000000000001010000000010000
0b00000000000000010010000000010000
0b00000000000000100010000000010000
0b00000000000001000010000000010000
0b00000000000010000010000000010000
0b00000000000100000010000000010000
0b00000000000000001100000000010000
0b00000000000000010100000000010000
0b00000000000000100100000000010000
0b00000000000001000100000000010000
0b00000000000010000100000000010000
0b00000000000100000100000000010000
0b00000000000000011000000000010000
0b00000000000000101000000000010000
0b00000000000001001000000000010000
0b00000000000010001000000000010000
0b00000000000100001000000000010000
0b00000000000000110000000000010000
0b00000000000001010000000000010000
0b00000000000010010000000000010000
0b00000000000100010000000000010000
0b00000000000001100000000000010000
0b00000000000010100000000000010000
0b00000000000100100000000000010000
0b00000000000011000000000000010000
0b00000000000101000000000000010000
0b00000000000110000000000000010000
0b00000000000000000000000011100000
0b00000000000000000000000101100000
0b00000000000000000000001001100000
0b00000000000000000000010001100000
0b00000000000000000000100001100000
0b00000000000000000001000001100000
0b00000000000000000010000001100000
0b00000000000000000100000001100000
0b00000000000000001000000001100000
0b00000000000000010000000001100000
0b00000000000000100000000001100000
0b00000000000001000000000001100000
0b00000000000010000000000001100000
0b00000000000100000000000001100000
0b00000000000000000000000110100000
0b00000000000000000000001010100000
0b00000000000000000000010010100000
0b00000000000000000000100010100000
0b00000000000000000001000010100000
0b00000000000000000010000010100000
0b00000000000000000100000010100000
0b00000000000000001000000010100000
0b00000000000000010000000010100000
0b00000000000000100000000010100000
0b00000000000001000000000010100000
0b00000000000010000000000010100000
0b00000000000100000000000010100000
0b00000000000000000000001100100000
0b00000000000000000000010100100000
0b00000000000000000000100100100000
0b00000000000000000001000100100000
0b00000000000000000010000100100000
0b00000000000000000100000100100000
0b00000000000000001000000100100000
0b00000000000000010000000100100000
0b00000000000000100000000100100000
0b00000000000001000000000100100000
0b00000000000010000000000100100000
0b00000000000100000000000100100000
0b00000000000000000000011000100000
0b00000000000000000000101000100000
0b00000000000000000001001000100000
0b00000000000000000010001000100000
0b00000000000000000100001000100000
0b00000000000000001000001000100000
0b00000000000000010000001000100000
0b00000000000000100000001000100000
0b00000000000001000000001000100000
0b00000000000010000000001000100000
0b00000000000100000000001000100000
0b00000000000000000000110000100000
0b00000000000000000001010000100000
0b00000000000000000010010000100000
0b00000000000000000100010000100000
0b00000000000000001000010000100000
0b00000000000000010000010000100000
0b00000000000000100000010000100000
0b00000000000001000000010000100000
0b00000000000010000000010000100000
0b00000000000100000000010000100000
0b00000000000000000001100000100000
0b00000000000000000010100000100000
0b00000000000000000100100000100000
0b00000000000000001000100000100000
0b00000000000000010000100000100000
0b00000000000000100000100000100000
0b00000000000001000000100000100000
0b00000000000010000000100000100000
0b00000000000100000000100000100000
0b00000000000000000011000000100000
0b00000000000000000101000000100000
0b00000000000000001001000000100000
0b00000000000000010001000000100000
0b00000000000000100001000000100000
0b00000000000001000001000000100000
0b00000000000010000001000000100000
0b00000000000100000001000000100000
0b00000000000000000110000000100000
0b00000000000000001010000000100000
0b00000000000000010010000000100000
0b00000000000000100010000000100000
0b00000000000001000010000000100000
0b00000000000010000010000000100000
0b00000000000100000010000000100000
0b00000000000000001100000000100000
0b00000000000000010100000000100000
0b00000000000000100100000000100000
0b00000000000001000100000000100000
0b00000000000010000100000000100000
0b00000000000100000100000000100000
0b00000000000000011000000000100000
0b00000000000000101000000000100000
0b00000000000001001000000000100000
0b00000000000010001000000000100000
0b00000000000100001000000000100000
0b00000000000000110000000000100000
0b00000000000001010000000000100000
0b00000000000010010000000000100000
0b00000000000100010000000000100000
0b00000000000001100000000000100000
0b00000000000010100000000000100000
0b00000000000100100000000000100000
0b00000000000011000000000000100000
0b00000000000101000000000000100000
0b00000000000110000000000000100000
0b00000000000000000000000111000000
0b00000000000000000000001011000000
0b00000000000000000000010011000000
0b00000000000000000000100011000000
0b00000000000000000001000011000000
0b00000000000000000010000011000000
0b00000000000000000100000011000000
0b00000000000000001000000011000000
0b00000000000000010000000011000000
0b00000000000000100000000011000000
0b00000000000001000000000011000000
0b00000000000010000000000011000000
0b00000000000100000000000011000000
0b00000000000000000000001101000000
0b00000000000000000000010101000000
0b00000000000000000000100101000000
0b00000000000000000001000101000000
0b00000000000000000010000101000000
0b00000000000000000100000101000000
0b00000000000000001000000101000000
0b00000000000000010000000101000000
0b00000000000000100000000101000000
0b00000000000001000000000101000000
0b00000000000010000000000101000000
0b00000000000100000000000101000000
0b00000000000000000000011001000000
0b00000000000000000000101001000000
0b00000000000000000001001001000000
0b00000000000000000010001001000000
0b00000000000000000100001001000000
0b00000000000000001000001001000000
0b00000000000000010000001001000000
0b00000000000000100000001001000000
0b00000000000001000000001001000000
0b00000000000010000000001001000000
0b00000000000100000000001001000000
0b00000000000000000000110001000000
0b00000000000000000001010001000000
0b00000000000000000010010001000000
0b00000000000000000100010001000000
0b00000000000000001000010001000000
0b00000000000000010000010001000000
0b00000000000000100000010001000000
0b00000000000001000000010001000000
0b00000000000010000000010001000000
0b00000000000100000000010001000000
0b00000000000000000001100001000000
0b00000000000000000010100001000000
0b00000000000000000100100001000000
0b00000000000000001000100001000000
0b00000000000000010000100001000000
0b00000000000000100000100001000000
0b00000000000001000000100001000000
0b00000000000010000000100001000000
0b00000000000100000000100001000000
0b00000000000000000011000001000000
0b00000000000000000101000001000000
0b00000000000000001001000001000000
0b00000000000000010001000001000000
0b00000000000000100001000001000000
0b00000000000001000001000001000000
0b00000000000010000001000001000000
0b00000000000100000001000001000000
0b00000000000000000110000001000000
0b00000000000000001010000001000000
0b00000000000000010010000001000000
0b00000000000000100010000001000000
0b00000000000001000010000001000000
0b00000000000010000010000001000000
0b00000000000100000010000001000000
0b00000000000000001100000001000000
0b00000000000000010100000001000000
0b00000000000000100100000001000000
0b00000000000001000100000001000000
0b00000000000010000100000001000000
0b00000000000100000100000001000000
0b00000000000000011000000001000000
0b00000000000000101000000001000000
0b00000000000001001000000001000000
0b00000000000010001000000001000000
0b00000000000100001000000001000000
0b00000000000000110000000001000000
0b00000000000001010000000001000000
0b00000000000010010000000001000000
0b00000000000100010000000001000000
0b00000000000001100000000001000000
0b00000000000010100000000001000000
0b00000000000100100000000001000000
0b00000000000011000000000001000000
0b00000000000101000000000001000000
0b00000000000110000000000001000000
0b00000000000000000000001110000000
0b00000000000000000000010110000000
0b00000000000000000000100110000000
0b00000000000000000001000110000000
0b00000000000000000010000110000000
0b00000000000000000100000110000000
0b00000000000000001000000110000000
0b00000000000000010000000110000000
0b00000000000000100000000110000000
0b00000000000001000000000110000000
0b00000000000010000000000110000000
0b00000000000100000000000110000000
0b00000000000000000000011010000000
0b00000000000000000000101010000000
0b00000000000000000001001010000000
0b00000000000000000010001010000000
0b00000000000000000100001010000000
0b00000000000000001000001010000000
0b00000000000000010000001010000000
0b00000000000000100000001010000000
0b00000000000001000000001010000000
0b00000000000010000000001010000000
0b00000000000100000000001010000000
0b00000000000000000000110010000000
0b00000000000000000001010010000000
0b00000000000000000010010010000000
0b00000000000000000100010010000000
0b00000000000000001000010010000000
0b00000000000000010000010010000000
0b00000000000000100000010010000000
0b00000000000001000000010010000000
0b00000000000010000000010010000000
0b00000000000100000000010010000000
0b00000000000000000001100010000000
0b00000000000000000010100010000000
0b00000000000000000100100010000000
0b00000000000000001000100010000000
0b00000000000000010000100010000000
0b00000000000000100000100010000000
0b00000000000001000000100010000000
0b00000000000010000000100010000000
0b00000000000100000000100010000000
0b00000000000000000011000010000000
0b00000000000000000101000010000000
0b00000000000000001001000010000000
0b00000000000000010001000010000000
0b00000000000000100001000010000000
0b00000000000001000001000010000000
0b00000000000010000001000010000000
0b00000000000100000001000010000000
0b00000000000000000110000010000000
0b00000000000000001010000010000000
0b00000000000000010010000010000000
0b00000000000000100010000010000000
0b00000000000001000010000010000000
0b00000000000010000010000010000000
0b00000000000100000010000010000000
0b00000000000000001100000010000000
0b00000000000000010100000010000000
0b00000000000000100100000010000000
0b00000000000001000100000010000000
0b00000000000010000100000010000000
0b00000000000100000100000010000000
0b00000000000000011000000010000000
0b00000000000000101000000010000000
0b00000000000001001000000010000000
0b00000000000010001000000010000000
0b00000000000100001000000010000000
0b00000000000000110000000010000000
0b00000000000001010000000010000000
0b00000000000010010000000010000000
0b00000000000100010000000010000000
0b00000000000001100000000010000000
0b00000000000010100000000010000000
0b00000000000100100000000010000000
0b00000000000011000000000010000000
0b00000000000101000000000010000000
0b00000000000110000000000010000000
0b00000000000000000000011100000000
0b00000000000000000000101100000000
0b00000000000000000001001100000000
0b00000000000000000010001100000000
0b00000000000000000100001100000000
0b00000000000000001000001100000000
0b00000000000000010000001100000000
0b00000000000000100000001100000000
0b00000000000001000000001100000000
0b00000000000010000000001100000000
0b00000000000100000000001100000000
0b00000000000000000000110100000000
0b00000000000000000001010100000000
0b00000000000000000010010100000000
0b00000000000000000100010100000000
0b00000000000000001000010100000000
0b00000000000000010000010100000000
0b00000000000000100000010100000000
0b00000000000001000000010100000000
0b00000000000010000000010100000000
0b00000000000100000000010100000000
0b00000000000000000001100100000000
0b00000000000000000010100100000000
0b00000000000000000100100100000000
0b00000000000000001000100100000000
0b00000000000000010000100100000000
0b00000000000000100000100100000000
0b00000000000001000000100100000000
0b00000000000010000000100100000000
0b00000000000100000000100100000000
0b00000000000000000011000100000000
0b00000000000000000101000100000000
0b00000000000000001001000100000000
0b00000000000000010001000100000000
0b00000000000000100001000100000000
0b00000000000001000001000100000000
0b00000000000010000001000100000000
0b00000000000100000001000100000000
0b00000000000000000110000100000000
0b00000000000000001010000100000000
0b00000000000000010010000100000000
0b00000000000000100010000100000000
0b00000000000001000010000100000000
0b00000000000010000010000100000000
0b00000000000100000010000100000000
0b00000000000000001100000100000000
0b00000000000000010100000100000000
0b00000000000000100100000100000000
0b00000000000001000100000100000000
0b00000000000010000100000100000000
0b00000000000100000100000100000000
0b00000000000000011000000100000000
0b00000000000000101000000100000000
0b00000000000001001000000100000000
0b00000000000010001000000100000000
0b00000000000100001000000100000000
0b00000000000000110000000100000000
0b00000000000001010000000100000000
0b00000000000010010000000100000000
0b00000000000100010000000100000000
0b00000000000001100000000100000000
0b00000000000010100000000100000000
0b00000000000100100000000100000000
0b00000000000011000000000100000000
0b00000000000101000000000100000000
0b00000000000110000000000100000000
0b00000000000000000000111000000000
0b00000000000000000001011000000000
0b00000000000000000010011000000000
0b00000000000000000100011000000000
0b00000000000000001000011000000000
0b00000000000000010000011000000000
0b00000000000000100000011000000000
0b00000000000001000000011000000000
0b00000000000010000000011000000000
0b00000000000100000000011000000000
0b00000000000000000001101000000000
0b00000000000000000010101000000000
0b00000000000000000100101000000000
0b00000000000000001000101000000000
0b00000000000000010000101000000000
0b00000000000000100000101000000000
0b00000000000001000000101000000000
0b00000000000010000000101000000000
0b00000000000100000000101000000000
0b00000000000000000011001000000000
0b00000000000000000101001000000000
0b00000000000000001001001000000000
0b00000000000000010001001000000000
0b00000000000000100001001000000000
0b00000000000001000001001000000000
0b00000000000010000001001000000000
0b00000000000100000001001000000000
0b00000000000000000110001000000000
0b00000000000000001010001000000000
0b00000000000000010010001000000000
0b00000000000000100010001000000000
0b00000000000001000010001000000000
0b00000000000010000010001000000000
0b00000000000100000010001000000000
0b00000000000000001100001000000000
0b00000000000000010100001000000000
0b00000000000000100100001000000000
0b00000000000001000100001000000000
0b00000000000010000100001000000000
0b00000000000100000100001000000000
0b00000000000000011000001000000000
0b00000000000000101000001000000000
0b00000000000001001000001000000000
0b00000000000010001000001000000000
0b00000000000100001000001000000000
0b00000000000000110000001000000000
0b00000000000001010000001000000000
0b00000000000010010000001000000000
0b00000000000100010000001000000000
0b00000000000001100000001000000000
0b00000000000010100000001000000000
0b00000000000100100000001000000000
0b00000000000011000000001000000000
0b00000000000101000000001000000000
0b00000000000110000000001000000000
0b00000000000000000001110000000000
0b00000000000000000010110000000000
0b00000000000000000100110000000000
0b00000000000000001000110000000000
0b00000000000000010000110000000000
0b00000000000000100000110000000000
0b00000000000001000000110000000000
0b00000000000010000000110000000000
0b00000000000100000000110000000000
0b00000000000000000011010000000000
0b00000000000000000101010000000000
0b00000000000000001001010000000000
0b00000000000000010001010000000000
0b00000000000000100001010000000000
0b00000000000001000001010000000000
0b00000000000010000001010000000000
0b00000000000100000001010000000000
0b00000000000000000110010000000000
0b00000000000000001010010000000000
0b00000000000000010010010000000000
0b00000000000000100010010000000000
0b00000000000001000010010000000000
0b00000000000010000010010000000000
0b00000000000100000010010000000000
0b00000000000000001100010000000000
0b00000000000000010100010000000000
0b00000000000000100100010000000000
0b00000000000001000100010000000000
0b00000000000010000100010000000000
0b00000000000100000100010000000000
0b00000000000000011000010000000000
0b00000000000000101000010000000000
0b00000000000001001000010000000000
0b00000000000010001000010000000000
0b00000000000100001000010000000000
0b00000000000000110000010000000000
0b00000000000001010000010000000000
0b00000000000010010000010000000000
0b00000000000100010000010000000000
0b00000000000001100000010000000000
0b00000000000010100000010000000000
0b00000000000100100000010000000000
0b00000000000011000000010000000000
0b00000000000101000000010000000000
0b00000000000110000000010000000000
0b00000000000000000011100000000000
0b00000000000000000101100000000000
0b00000000000000001001100000000000
0b00000000000000010001100000000000
0b00000000000000100001100000000000
0b00000000000001000001100000000000
0b00000000000010000001100000000000
0b00000000000100000001100000000000
0b00000000000000000110100000000000
0b00000000000000001010100000000000
0b00000000000000010010100000000000
0b00000000000000100010100000000000
0b00000000000001000010100000000000
0b00000000000010000010100000000000
0b00000000000100000010100000000000
0b00000000000000001100100000000000
0b00000000000000010100100000000000
0b00000000000000100100100000000000
0b00000000000001000100100000000000
0b00000000000010000100100000000000
0b00000000000100000100100000000000
0b00000000000000011000100000000000
0b00000000000000101000100000000000
0b00000000000001001000100000000000
0b00000000000010001000100000000000
0b00000000000100001000100000000000
0b00000000000000110000100000000000
0b00000000000001010000100000000000
0b00000000000010010000100000000000
0b00000000000100010000100000000000
0b00000000000001100000100000000000
0b00000000000010100000100000000000
0b00000000000100100000100000000000
0b00000000000011000000100000000000
0b00000000000101000000100000000000
0b00000000000110000000100000000000
0b00000000000000000111000000000000
0b00000000000000001011000000000000
0b00000000000000010011000000000000
0b00000000000000100011000000000000
0b00000000000001000011000000000000
0b00000000000010000011000000000000
0b00000000000100000011000000000000
0b00000000000000001101000000000000
0b00000000000000010101000000000000
0b00000000000000100101000000000000
0b00000000000001000101000000000000
0b00000000000010000101000000000000
0b00000000000100000101000000000000
0b00000000000000011001000000000000
0b00000000000000101001000000000000
0b00000000000001001001000000000000
0b00000000000010001001000000000000
0b00000000000100001001000000000000
0b00000000000000110001000000000000
0b00000000000001010001000000000000
0b00000000000010010001000000000000
0b00000000000100010001000000000000
0b00000000000001100001000000000000
0b00000000000010100001000000000000
0b00000000000100100001000000000000
0b00000000000011000001000000000000
0b00000000000101000001000000000000
0b00000000000110000001000000000000
0b00000000000000001110000000000000
0b00000000000000010110000000000000
0b00000000000000100110000000000000
0b00000000000001000110000000000000
0b00000000000010000110000000000000
0b00000000000100000110000000000000
0b00000000000000011010000000000000
0b00000000000000101010000000000000
0b00000000000001001010000000000000
0b00000000000010001010000000000000
0b00000000000100001010000000000000
0b00000000000000110010000000000000
0b00000000000001010010000000000000
0b00000000000010010010000000000000
0b00000000000100010010000000000000
0b00000000000001100010000000000000
0b00000000000010100010000000000000
0b00000000000100100010000000000000
0b00000000000011000010000000000000
0b00000000000101000010000000000000
0b00000000000110000010000000000000
0b00000000000000011100000000000000
0b00000000000000101100000000000000
0b00000000000001001100000000000000
0b00000000000010001100000000000000
0b00000000000100001100000000000000
0b00000000000000110100000000000000
0b00000000000001010100000000000000
0b00000000000010010100000000000000
0b00000000000100010100000000000000
0b00000000000001100100000000000000
0b00000000000010100100000000000000
0b00000000000100100100000000000000
0b00000000000011000100000000000000
0b00000000000101000100000000000000
0b00000000000110000100000000000000
0b00000000000000111000000000000000
0b00000000000001011000000000000000
0b00000000000010011000000000000000
0b00000000000100011000000000000000
0b00000000000001101000000000000000
0b00000000000010101000000000000000
0b00000000000100101000000000000000
0b00000000000011001000000000000000
0b00000000000101001000000000000000
0b00000000000110001000000000000000
0b00000000000001110000000000000000
0b00000000000010110000000000000000
0b00000000000100110000000000000000
0b00000000000011010000000000000000
0b00000000000101010000000000000000
0b00000000000110010000000000000000
0b00000000000011100000000000000000
0b00000000000101100000000000000000
0b00000000000110100000000000000000
0b00000000000111000000000000000000