Arecibo 메시지 출력


38

Arecibo 메시지는 외계 지능이 그것을 수신하고 해독 할 수 있기를 희망하는 구형 스타 클러스터 M13으로 보내진 인류와 지구에 대한 기본 정보를 전달하는 1974 년의 성간 무선 메시지입니다.

숫자 1,679는 세미 프라임 (2 개의 소수의 곱)이므로 73 행 x 23 열로 직사각형으로 배열되므로 선택되었습니다. 23 행 x 73 열의 대체 배열은 다른 모든 X / Y 형식과 마찬가지로 이해할 수없는 문자 세트를 생성합니다.

아레 시보 메시지

별도의 부분을 강조하기 위해 색상이 추가 된 메시지입니다. 실제 이진 전송에는 색상 정보가 없습니다.

출처 : Wikipedia


당신의 임무는 이미지에 표시된 정확한 23x73 배열로 Arecibo 메시지를 출력하는 것입니다. 다음 출력 형식 중 하나를 사용할 수 있습니다.

  • 하나의 문자를 사용하고 다른 문자를 0으로 사용하는 텍스트 (일반 행 분리 규칙 사용)
  • 두 개의 고유 한 값으로 구성된 2D 배열
  • 두 가지 색상으로 구성된 23x73 이미지
  • 두 개의 고유 한 값 (즉, 위 형식 중 하나이지만 평평한)의 1679 개 항목으로 중단없는 스트림.
  • 1679 비트 정수 솔루션에서 비트 및 바이트 순서 (엔디안)를 나타냅니다.

편의를 위해 다음은 복사 가능 버전 (텍스트 형식의 출력 예)입니다.

00000010101010000000000
00101000001010000000100
10001000100010010110010
10101010101010100100100
00000000000000000000000
00000000000011000000000
00000000001101000000000
00000000001101000000000
00000000010101000000000
00000000011111000000000
00000000000000000000000
11000011100011000011000
10000000000000110010000
11010001100011000011010
11111011111011111011111
00000000000000000000000
00010000000000000000010
00000000000000000000000
00001000000000000000001
11111000000000000011111
00000000000000000000000
11000011000011100011000
10000000100000000010000
11010000110001110011010
11111011111011111011111
00000000000000000000000
00010000001100000000010
00000000001100000000000
00001000001100000000001
11111000001100000011111
00000000001100000000000
00100000000100000000100
00010000001100000001000
00001100001100000010000
00000011000100001100000
00000000001100110000000
00000011000100001100000
00001100001100000010000
00010000001000000001000
00100000001100000000100
01000000001100000000100
01000000000100000001000
00100000001000000010000
00010000000000001100000
00001100000000110000000
00100011101011000000000
00100000001000000000000
00100000111110000000000
00100001011101001011011
00000010011100100111111
10111000011100000110111
00000000010100000111011
00100000010100000111111
00100000010100000110000
00100000110110000000000
00000000000000000000000
00111000001000000000000
00111010100010101010101
00111000000000101010100
00000000000000101000000
00000000111110000000000
00000011111111100000000
00001110000000111000000
00011000000000001100000
00110100000000010110000
01100110000000110011000
01000101000001010001000
01000100100010010001000
00000100010100010000000
00000100001000010000000
00000100000000010000000
00000001001010000000000
01111001111101001111000

어떤 이유로 언어에 Arecibo Message가 내장되어 있으면 해당 내장 언어를 사용하지 못할 수 있습니다.

행운을 빕니다!

업데이트 : 05AB1E 답변은 원래 메시지보다 짧은 첫 번째 답변이므로 받아 들였습니다. 새로운 솔루션에서 당신을 설득시키지 마십시오.

업데이트 2019-09-09 : 허용 된 답변이 이전 05AB1E 답변을 폐기하므로 새로운 05AB1E 답변으로 이동했습니다. 같은 점은 이전 업데이트와 동일합니다. 새로운 솔루션은 여전히 ​​환영합니다.


9
: 언어는 아레 시보 메시지에 내장 된 경우, 나는이 세계 C에서 모든 것을 보았으므로, 모두 확실하게 말할 수 있습니다
루이스 펠리페 드 예수님 무 노즈

6
Mathematica (IIRC)에는 Lena 용 이미지가 내장되어 있으므로 Aricebo 메시지도 포함되어 있어도 놀라지 않을 것입니다.
Beefster

@RobertS. 텍스트 외에 다른 유효한 형식이 있기 때문에 아니요.
Beefster

4
원래 형식의 정신으로, 평평한 결과 / 출력이 허용되어야합니다. 1679 비트의 요점은 신호 길이에서 적절한 수의 행과 열을 유추 할 수 있다는 것입니다.
Adám

4
@LuisfelipeDejesusMunoz 티카는 내장이 사진에서 염소를 결정하기를 아레 시보 메시지 내장 정말 하나 나를 놀라게하지 않을 그래서 언어가 우주의 내장 명령에 내장되어 있습니다 .. ..>>.
케빈 Cruijssen

답변:


2

05AB1E , 182 바이트

•sv¯ö¨₁ÿ.ÛïžôΔ¨γ_Ígv…=Bм„Ð.(ܦi´…ε±G½0^/₃öRÛž¼¤"āêL!ˆ6‘Gā܇ðв₁÷Ã7€₂䬂Cć¨g¾†@÷[_-68¯a∍iG*6ÆîÆ;>éjζãÎÂ+ºžnî¼ć'(ÝÞΔ‹∞ÉݹÕ5λ₆*a|§oÄmôæ¨;—:hž¥ð¢ocË'¨%¡4Ćáß©ìća;FÁ?iˆèεƒʒ•Ž6–FD4‰`3ÊD?i-

온라인으로 사용해보십시오! ( 질문에서 허용하는대로 10과 01에 사용 ).

온라인으로 사용해보십시오! ( 00과 11의 경우 5 바이트 더 길어져 가독성을 위해 줄 바꿈이 추가되었습니다).

대부분의 코드는 기본 -255 정수 상수 N이고, 나머지는 75 % / 25 %의 하드 코드 확률을 사용 하는 비대칭 수치 시스템 디코더입니다 (실제 주파수 0은 76.35 %이며 75 %에 가깝습니다) 페이로드에 1.2 비트 만 저장하는 반면, 멋진 75 %는 디코더에 몇 바이트를 저장할 수 있습니다.

Ž6–F                  # repeat the following 1679 times:
    D                 #  duplicate N
     4‰`              #  divmod 4: pushes N / 4, N % 4 on the stack
        3Ê            #  is N % 4 != 3 ? (boolean 1 or 0)
          D?          #  print a copy
            i-        #  if it's 1, subtract: N = N - (N / 4)
                      #  (otherwise, N = N / 4, since that's the top of the stack)

상수를 생성 한 ANS 인코더는 다음과 같습니다. 온라인으로 사용해보십시오!

Î                          # start from N = 0
 Rv         ]              # for each bit in the reversed input:
   4*                      #  N *= 4
     yi                    #  if the bit is 1:
       3+                  #   N += 3
         ë                 #  else:
          3÷               #   N /= 3 (integer division)
             ₅B'•.ø        # compress N as base-255

이전 05AB1E 답변을 폐기하는 데 능숙합니다!
Beefster

13

05AB1E , 215 (210) 200 바이트

Magic Octopus Urn 덕분에 15 바이트 절약

•cOž¤4é57ñΛ\Ö₃BαöĀíL½₅üBdoÙRθLγ¨G×Tćú$G(˜ƒ¦!€R»SDrµCnJ†d∊ζ·<8‡T@|‹ï=BζćósxG\ÙÎ$¿o₁5/ÔŸÇBûXé-”a::Ž]°∊y;ζ]MÜβ‘иL”β{üÃÇíäc€÷›ÎU=}¨иaŸdY`»¾ÚUβ:ô©¦β†₅DGŠβ3Jêθ,äá!ícqšVÖ›lÈΣ¯pε €êʃDpÙ/¬Žλ8:ãÿ3=€.Þć•3BY¾4×:

온라인으로 사용해보십시오! 또는 추가 서식

Base-255로 인코딩 된 3 진 문자열은을 (를) 0000대체했습니다 2.


@MagicOctopusUrn : 감사합니다! 그것은 210조차도 만듭니다 :)
Emigna

바꿀 경우 더 나은 사실이다 0000와 함께 29 개 바이트. - pastebin.com/aZ6tHxjx 201
매직 문어 항아리

@MagicOctopusUrn : 그렇습니다, 나는 또한 그것을 발견하고 그것을 게시하려고하고있었습니다 :)
Emigna

2
시원한! Arecibo 메시지는 210 바이트 (23 * 73/8 = 209.875)이므로 솔루션 (현재 200 바이트)은 메시지 자체보다 짧습니다!
JL

나는 메시지 자체보다 짧은 것이 처음 이었기 때문에 이것을 받아 들인 대답으로 만들었습니다.
Beefster

11

자바, 688678590377961 바이트

문자열을 반환합니다.

n->new java.math.BigInteger("in95mzupnpa2r0khpoepyql6ioqyn413avucdtfay6indx4wh9dehe3sn18klobtf4z9g9q17umqmwpegr2khb5eqinn7azl4jpfp2a8eui0xfrx5qwrou6gd65jh4ge3ls14k5lu7qrvmg6942ms29u5rb8fa6yrdhfoh5zoi9bdi7uh5ig0u0ff9kounth8sh357x7qox4m3oqviqsbrvakonbka4ahp21bgzi5v1akzzuqoncszhpabbru9q1uo2g11zr73iuyiqr5ikr69zn7cdv7e1lhd6ese9",36).toString(3).replace("2","0000")

기본 스트림을 반환하여 -10 바이트 (이전 답변)
기본 10 숫자 (@ceilingcat 감사합니다!)를 사용하여 -88 바이트
-211 바이트 (골프 가능하다는 것을 알고 있습니다!) !)
다른 인코딩 된 정수를 사용하여 -18 바이트 (다시 감사합니다 @JollyJoker)

온라인으로 사용해보십시오!

설명:

n->new java.math.BigInteger("base36 string",36) // Decode the base-36 integer.
   .toString(3)                                 // Re-encode as ternary
   .replace("2","0000")                         // Replace 2 with "0000"
                                                // Implicit return

1
의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Adam Lear

9

젤리 , 213 바이트

“H²ɓ¶Ṡḷ€ẹ]ƒf*ḳḢ&ƁṇOḥ{ḄṫwỊ+oLạʋߢH9¢¹÷ỴɗÇ⁶ƲƙæḊẋ3³=1!VƇƁ'D⁺3Ỵɱ©⁵%fȯez#ƈjƒżṆo.ZF⁶ċṢ⁶ọṛb9Ȯƒd?ƁUĠt4ẇ,ḞġƒµƭfʠƁP§÷øȤŻPɲẋ(¢ß¢(⁽3¶ṙėɗy@ṁYȮL~e⁷ƤĊ§nỊṅµṠ°@7ẠB>Ġ⁻İ}uy¡½:esOpḢt}qS©HÞṬĖṛṇḣ9÷;ESḢ,Ẉ^ṙpƲ©tṃwçnẒṆ¡⁻Jıƒị£-&Ɱ*ẋʂżoȯÑḢɼ’

온라인으로 사용해보십시오!

나는 허프만 코딩을 가지고 놀았지만 데이터 크기의 개선은 여분의 코드보다 중요했습니다. 따라서 원하는 출력의 기본 250 인코딩 버전입니다. 출력은 bijective base 2로 디코딩 될 때 1과 2의 1D리스트를 생성하는 정수로 구성됩니다. 규칙의 변화를 지적한 @Emigna에게 감사드립니다.

출력을 시연하기 위해 추가 디코딩으로 온라인으로 사용해보십시오!

보다 일반적인 이진 인코딩이 선호된다면, 여기 에 역 이진 메시지의 정수 표현을 인코딩하는 것이 있습니다. 정수의 최상위 비트는 메시지의 시작을 나타냅니다.


7

Brainfuck, 2360 2008 1938 바이트

-[>+<-----]>---......+.-.+.-.+.-.+.-............+.-.+.-.....+.-.+.-.......+.-.<++++[->.+.-..<]>+.-.+..-.<+++++++++[->.+.-<]>..+.-..+.-<++++++[->......<]>.+.<++[->.-...................+..-.+<]>.-..................+.-.+.-.+.-..................+.....-<++++++++[->....<]>+..-....+...-...+..-....+..-...+.-.............+..-..+.-....+..-.+.-...+..-...+..-....+..-.+<++++[->.-.+....<]>.-<+++++[->.....<]>.+.-.................+.-............................+.-.................+......-.............+.....-.......................+..-....+..-....+...-...+..-...+.-.......+.-.........+.-....+..-.+.-....+..-...+...-..+..-.+.-.+.....-.+.....-.+.....-.+.....-..........................+.-......+..-.........+.-...........+..-...............+.-.....+..-..........+......-.....+..-......+.....-..........+..-.....<+++[->........+.-<]>.....+.-......+..-.......+.-.......+..-....+..-......+.-..........+..-...+.-....+..-...............+..-..+..-.............+..-...+.-....+..-.........+..-....+..-......+.-.......+.-......+.-........+.-.....+.-<++[->.......+..-........+.-...+.-.<]>........+.-.......+.-<++++[->.....+.-..<]>..........+..-.........+..-........+..-.........+.-...+...-.+.-.+..-...........+.-.......+.-..............+.-.....+.....-............+.-....+.-.+...-.+.-..+.-.+..-.+..-......+.-..+...-..+.-..+.......-.+...-....+...-.....+..-.+...-.........+.-.+.-.....+...-.+..-..+.-......+.-.+.-.....+......-..+.-......+.-.+.-.....+..-......+.-.....+..-.+..-<+++++++[->.....<]>+...-.....+.-..............+...-.+.-.+.-..<++++++[->.+.-<]>..+...-.........+.-.+.-.+.-.+.-................+.-.+.-..............+.....-................+.........-............+...-.......+...-.<++[->........+..-...<]>....+..-.+.-.........+.-.+..-<++[->.....+..-..+..-..<]>..+.-...+.-.+.-.....+.-.+.-...+.-..<+++[->..+.-...+.-<]>........+.-...+.-.+.-...+.-............+.-....+.-.<++[->...+.-.........<]>+.-..............+.-..+.-.+.-...........+....-..+.....-.+.-..+....-...

온라인으로 사용해보십시오!

아마 더 빨리 골프를 칠 것입니다.


5

Deadfish ~ , 1115 1088 1084 바이트

oooooo{i}ooo{d}iod{o}{i}c{d}ooiodoiodoooooiodoiodoooooooiodoo{i}c{ii}is{iiii}doooio{{{d}}}oioodooiodo{i}coooooooo{d}o{{i}}oo{{d}i}c{d}{oo}ooo{i}c{d}{o}ooioodooooooooo{i}c{d}{o}ioodoiodooooooooo{i}c{d}{o}ioodoiodooooooooo{i}c{d}oooooooooiodoiodoiodooooooooo{i}c{d}oooooooooiooooodooooooooo{i}c{d}{oo}ooo{i}c{d}ioodooooiooodoooioodooooioodooo{i}c{d}iod{o}oooioodooiodoooo{i}c{d}ioodoiodoooioodoooioodooooioodoiodo{i}c{d}iooooodoiooooodoiooooodoioooood{i}c{d}{oo}ooo{i}c{d}oooiod{o}oooooooiodo{i}c{d}{oo}ooo{i}c{d}ooooiod{o}oooooooiod{i}c{d}ioooood{o}oooioooood{i}c{d}{oo}ooo{i}c{d}ioodooooioodooooiooodoooioodooo{i}c{d}iodoooooooiodoooooooooiodoooo{i}c{d}ioodoiodooooioodoooiooodooioodoiodo{i}c{d}iooooodoiooooodoiooooodoioooood{i}c{d}{oo}ooo{i}c{d}oooiodooooooioodoooooooooiodo{i}c{d}{o}iood{o}o{i}c{d}ooooiodoooooiood{o}iod{i}c{d}iooooodoooooioodooooooioooood{i}c{d}{o}iood{o}o{i}c{d}ooiodooooooooiodooooooooiodoo{i}c{d}oooiodooooooioodoooooooiodooo{i}c{d}ooooioodooooioodooooooiodoooo{i}c{d}ooooooioodoooiodooooioodooooo{i}c{d}{o}ioodooioodooooooo{i}c{d}ooooooioodoooiodooooioodooooo

온라인으로 사용해보십시오!

누군가가 이것을 더 골프에 참을성을 가지고 있다면, 나는 당신에게 미리 경의를 표합니다. :피

해당되는 곳에 10과 100을 인쇄하여 -27 바이트.
3 행에 3 개의 1000과 1 개의 1001을 인쇄하여 -4 바이트


4

Piet , 1763 코덱

0과 1의 스트림을 출력합니다 (줄 바꿈 없음).

코덱 크기 1 :

코덱 크기 1의 Arecibo 메시지 프로그램

보기 편한 코덱 크기 4

코덱 크기 4의 Arecibo 메시지 프로그램

설명

  • 먼저, 센티넬 값 -1을 스택에 넣습니다.
  • 그런 다음 런 길이 인코딩을 사용하여 Arecibo 메시지를 스택이므로 역순으로 푸시하십시오.
  • 마지막으로, 하나의 인쇄 영점과 다른 인쇄 고리의 두 루프 사이를 번갈아 가십시오.
    • 루프 카운터는 현재 스택 값으로, 0이 될 때까지 감소하며,이 시점에서 버리고 다른 루프로 전환합니다.
    • 제로 루프와 원 루프 사이에서 센티넬 값을 확인하고 발견되면 종료하십시오.

노트

이 프로그램은 나선형 경로를 따라 왼쪽 상단에서 중앙으로 시계 방향으로 진행됩니다. 대각선을 거의 따르는 산란 된 검은 블록이 흐름 제어입니다. NPiet추적은 다음과 같습니다 .

이 도전이 시작된 이래로이 작업을 해왔지만 메시지에 "쓰기"메시지를 표시하는 데 약간의 시간이 걸렸습니다! 마지막 루프와 센티넬 값을 먼저 쓴 다음 중앙에서 바깥쪽으로 메시지를 작성했습니다. (Piet는 항상 왼쪽 상단에서 실행을 시작하므로 과도한 공백을 피하기 위해 이미지를 뒤섞 고 회전해야하지만 완벽하게 맞습니다!)

재미있는 사실 : Piet의 런 렝스 인코딩은 자체적으로 공간을 절약하지 못합니다. 이 얻어 N 하나의 컬러 codels은 값 밀어 N을 스택에 또는 N 개의 상이한 컬러의 codels 스택 상 많은 1S 밀어. 따라서 어느 쪽이든 같은 수의 코덱입니다. 그러나 RLE이 제공하는 숫자가 클수록 산술 트릭을 사용할 수 있습니다 (예 : 9를 누르는 대신 3을 누르고 복제하고 곱할 수 있음). 코일 수를 줄이고 사용 가능한 공백을 채우기 위해 재미있는 모양의 블록을 사용할 수 있습니다.

Piet 항목의 점수를 계산하는 방법을 잘 모르겠습니다. 모든 코덱 을 계산하는 것으로 보이는 일부 와 적극적으로 사용되는 코드 만 명시 적으로 계산하는 일부를 발견했습니다 . 나는 방금 그들 모두를 세었다. 흰색 코덱을 무시하면 (프로그램이 절대로 이동하지 않더라도) 일반적인 프로그래밍 언어에서 공백을 무시하는 것처럼 보입니다.

아, 그리고 방금 게시한지 2 시간이 지난 지금이 ​​작업을하는 데 약간의 시간이 낭비되었다는 것을 깨달았습니다. 거의 흰색의 마지막 행과 열을 잘라 내고 싶었 기 때문에 검은 흐름 제어 블록을 포함하여 주변을 뒤섞 었습니다. 그러나 이미지의 가장자리는 검은 색과 동일하게 작동합니다! 내가 방금 기억했다면, DP와 CC의 복잡한 문제를 다루는 데 너무 많은 시간을 할애 할 필요가 없었을 것입니다 ...


3

C 번호 (카메라 C 번호 인터랙티브 컴파일러) , 366 (332) 329 319 바이트

int i;foreach(var g in"*ЀʂЄ࢈ҲપԤ␀␀␀؀ȀȀȀ؀␀␀సؘࠀƐഘؚ྾ߟ␀␀Ā␀␀ྀ␀␀రܘࠈഌΚ྾ߟ␀␀ă␀ྃ␀ȁăÃ1`ƀ1`ÃĂȃЃЁȂĀ`ÀƀȺ؀Ȃ␀ȏЀȗɛ'Ŀஇ7;ȅ?ȅ0ȍЀ␀␀΂␀ΨՕ΀Ŕ␀ŀЀ?܀àǀƀ`̀°٠Ƙѐʈш҈EB@Ѐޟɸ")Write(Convert.ToString(g,2).PadLeft(12-i++%2,'0'));

의 모든 인스턴스 바꾸기 로를 \0테스트합니다.

온라인으로 사용해보십시오!

C # (Visual C # Interactive Compiler) , 305 바이트, 210 자

_=>"*ЀʂЄ࢈ҲપԤ␀␀␀؀ȀȀȀ؀␀␀సؘࠀƐഘؚ྾ߟ␀␀Ā␀␀ྀ␀␀రܘࠈഌΚ྾ߟ␀␀ă␀ྃ␀ȁăÃ1`ƀ1`ÃĂȃЃЁȂĀ`ÀƀȺ؀Ȃ␀ȏЀȗɛ'Ŀஇ7;ȅ?ȅ0ȍЀ␀␀΂␀ΨՕ΀Ŕ␀ŀЀ?܀àǀƀ`̀°٠Ƙѐʈш҈EB@Ѐޟɸ".Select((g,i)=>Convert.ToString(g,2).PadLeft(12-i%2,'0'))

이상과 같은, 교체 \0테스트합니다. 로 출력합니다 IEnumerable<string>.

온라인으로 사용해보십시오! (Jo King 제공)



나는 ++in 12-i++%2이 nop 라고 생각합니다 (적어도 그것을 제거하면 그것은 나를 위해 일했습니다)
누군가

@someone 그들은 내가 잊어 버린 이전 답변에서 복사 붙여 넣기입니다
무지의 실시

2

펄 6 , 368 바이트

.say for :36('FJXOE0PDDNF5Y5EHGB8M9SWMXQOXIKIT9F6ZKWWDEACHCBGXL1N2H60CN0CJ4EMKF7D6MODSKYJVNR4SFTDR6NSM421LQ67B6MWF0G5BQATFOJJJBQ0UFQM64T0MWSQN41C4S5D1QR5KJM2L9UTYMMKUBBQWY45YCMRGO8ZRGTQH7LXMZBUASLCTKX30IH0AYKYEPHO8HFHX8GAY5WM38YOSUX0HABYSH2PPBLRDRZIN5ANAQ3V8PLOZ6EHC0UI95EVJVYD1820T6J14HGX85NWFQET2NWOMSNUT0JW4LHMY90X094TEE9KXJXSNN6YPERFQW').base(2).substr(1).comb(23)

온라인으로 사용해보십시오!

긴 문자열은 메시지를 단일 기수 -36 숫자 (앞에 0을 유지하기 위해 단일 접두사 1 비트가있는)로 한 번에 이진으로 변환하여 한 번에 23 비트로 인쇄합니다.


당신은 사용할 수 있습니다 >>.say&{S/.//}바이트를 저장합니다. 대신 다른베이스를 사용하는 것에 대해 생각해 보셨습니까?
조 왕

예, 기본 65536 / 유니 코드를 사용해 보았지만 메시지가 금지 된 대리 코드 포인트로 실행됩니다. 각 코드 포인트에 고정 오프셋을 추가하여 피할 수 있었지만 놀랍게도 생성 된 문자열 중 일부가 Emacs에 몇 번 충돌했습니다. 커밋 할 수있는 것보다 시간이 많이 걸리기 시작했습니다. 나중에 문제를 다시 검토 할 것입니다.
Sean

바이트 수를 늘리기 때문에 여러 바이트 문자로 들어가는 것이 중요하지 않습니다. 위에서 팁을 구현하고베이스 122 (캐리지 리턴을 피하기 위해)를 사용하여 289 바이트
Jo King

2

Wolfram Language (Mathematica) , 383 바이트

StringPartition[Uncompress@"1:eJylVNsRwjAM44s92KBaBTZgAUZhZXqtHUuOWrgjfSRRHFlO4tyer/vjfb1clq0gHirZLRjby986hppcT5p+L3BmgJ3t4Ul4GsNyG++7YbaXLh0ZTPhXa4Sn+X/s9Qfk3Hx2cOaSIuNYaVu5laschvgzSqAjHeZBhilKgKBDEhw0upJRg+HOK4MyNC29sfbc3RV0VPDqeLiRTsG1ulExq1IitpunOa7asnYM9siDZ6eidUCkEzBOUbCkGIig4aTyUGBYWAX6W6aXIWGGI/HlhmsqzSU0QTZjkMVpaX5sBsm1OGKVg1qdjKP0EdyqZBRLhukn8DLBQav6kccgz8OKfgBzjj6Z",23]

온라인으로 사용해보십시오!


2

Node.js , 333 바이트

1,679 자의 이진 문자열을 반환합니다.

_=>Buffer(")SI)=.);1K?>>>2333A3,93/I3>3)g33)AEAAI)5JQZJTddda3)*3*33+3,e)*e3)//0/1+)1C/7Cgggg3395)9)A3IY)h*IH),39+)995*)AA-)59Y)*O3Z,)//*)91**)A*-)Y+1)I11+)I1)/)5)Y*0?)+)I)-0Y)1@;_*7<gaE/a)Q7[*9HM+IY16I33)a1)*^.><I+S3.38I)*hY)7)a)Y)A,9*A5Y/A:9=9K:1I-=9)19I)9*329)GH<").map(x=>s+=(x-51&&x-41).toString(2).padStart(x-51?6:12,0),s='')&&s

온라인으로 사용해보십시오! (형식화 된 출력)


자바 스크립트 (ES8), 413 바이트

1,679 자의 이진 문자열을 반환합니다.

_=>atob('AsKoAFBQEiIlwpVVUk!!ABwo!DQ!Gg!V!Aw7g!!GHGHCi!yGjHChsK+w7vDr8K!!Q!Q!!g!/DgAHDs!AGGHDhiAgCGhjwprDu8Ovwr4!ABAw4AQAcK!MKDAD8GB8OAD!QCAQQMBAYYEAMQwABwpgAMQwBwoYEBAgEEBgEQDAIwoAgIMKAwoDCgMKABgDDgDAEdcKACAgAEHwAIXTCtgTDpMO+w6HDgcK4AsKDwrIFB8OkCgwINg!!A4IAB1FVTDoArCo!U!/CgAB/w4ADwoDDoAwAYDQBYMOMBmEUFEIkSMKARR!woQgAQB!MKUAHnDtA'.split`!`.join`AA`).replace(/[\s\S]/g,c=>c.charCodeAt().toString(2).padStart(8,0))

온라인으로 사용해보십시오! (형식화 된 출력)


2

풍선 껌, 275 236 바이트

00000000: e006 8e00 e45d 0018 6988 6507 a228 f86f  .....]..i.e..(.o
00000010: f042 c62f d4d7 b99e 38bc 56c4 52e8 2630  .B./....8.V.R.&0
00000020: 8aaa 7252 d47d 5ef4 c96a 511f 6842 423f  ..rR.}^..jQ.hBB?
00000030: 4532 ca9f 22d3 1633 e0c4 665a d5dc 4e68  E2.."..3..fZ..Nh
00000040: 7b09 76ae 3c7e f9d4 fa4a 05e0 4163 c580  {.v.<~...J..Ac..
00000050: c585 a383 2396 4ca9 1f48 a4b9 744e 37c8  ....#.L..H..tN7.
00000060: 68c5 af23 645d 59a7 542a e6d1 23b9 3aba  h..#d]Y.T*..#.:.
00000070: f0e6 2738 dfd5 b0a3 c6a3 60bf c5b6 5ae6  ..'8......`...Z.
00000080: 7893 30a8 ae04 edf9 298b b777 4d56 285b  x.0.....)..wMV([
00000090: cb74 07cc 7a7b a399 3dc7 c6e7 b693 e715  .t..z{..=.......
000000a0: d908 876e 001f 7408 3c6a 5fcd 37cb 02c4  ...n..t.<j_.7...
000000b0: 93de 33c2 a11e 5bac cd12 d99a fac3 e0fa  ..3...[.........
000000c0: 5268 94f7 d640 0f73 cede f79d 821f 39d1  Rh...@.s......9.
000000d0: dc49 ff06 6962 6c31 dc29 a077 01c3 7690  .I..ibl1.).w..v.
000000e0: 85ef bbec 31d7 5c7f f9fc 8c00            ....1.\.....

온라인으로 사용해보십시오!


2

bash + GNU 도구, 351 바이트

base64 -d<<<H4sIAPnNrVwCA6WUCRLDIAwDv8T+/3NNG4wvkTBTcisGSyA8xrcxj9Ds02F+Z7yuf3hnPyz0vYEGz+FG3IKBs+x3oL2PSh0TM/PnaGamft9nPUCew3uCp5RBWdRKGz+qNJn8qRKkkNaTBgeVIFXWOdi8VCaIeUnsfHo6TXpaFa3H5olf6J5MuIHLoEi0uKcRFCvEXG4xseglKzZg7kpYJSLMA3M7wXKR+/L2WiK0kvg+TDASLp6Co1KEVIlVmFzhCktRhBBDdSZYU1xKHrmDUllcWpNR/YNW2QNcHtF0rSySb0MXk/SDUgEwG5gfLvQDxuEdDo8GAAA=|gunzip

TIO


내 게시물을 게시하기 전에 bash 게시물을 보지 못했습니다.
국수

2

MathGolf , 223 220 바이트

'06*"x·<×J× Ç×►B×ê\"@$↕!◙è0♥f░×→0×♠p└☺α?×└•×◙×P♣p¬è:×►∟××××←♦♠♣≥â☻┘A☺▄αp⌂r☻[║►×>◘×♦♦└:☻↑`×♥@@@@►►@♦↑ ☻♀◘☻♦☻☻├×å↑×╠×Ç!♠ 0♀◘↑◘☻♦◘×♠α♥â▼ÇA×└×◘` ×××▀≈}═14♦►►π0♀××°×α•×►×××☻×◘××└≈}_├↑♪↓×─0♫♥×××|××*××♪×Ç♠×└×××× ⌐¬╩↕◄○((×T☺"$à+

온라인으로 사용해보십시오!

설명

'0                push single character "0"
  6*              repeat 6 times
    "..."         push the magic string
         $        convert to ordinal
          à       convert to binary string
           +      pop a, b : push(a+b) (add the 6 zeroes)
                  below is the footer
            L/    divide into groups of 23 characters
              n   join array with newlines into string

L/n바닥 글로 이동할 수 있으므로 실제로는 220 바이트입니다. 05AB1E / Java 응답을 이식하여 더 많은 바이트를 절약 할 수 있습니까 ( 이 압축 정수를 사용 하고 base-3으로 변환하고 모든 2s를 0000s로 바꾸십시오 )?
Kevin Cruijssen

@KevinCruijssen 멋진 캐치! 더 많은 문자열 교체 기능을 원했지만 지금은 MathGolf의 일부가 아닙니다.
최대

자릿수 별지도 2♫░╞어떤가요? 편집 : 걱정하지 마십시오. 기본 3으로 변환 할 기본 변환 내장 (2 진 / 16 진수 제외)이 없습니까?
Kevin Cruijssen

@KevinCruijssen 기본 변환을 어떻게 변경해야하는지 조금 생각했습니다. 이진 문자열을 십진수로 변환하는 명령과 이진 배열을 십진수로 변환하는 명령이 필요하지 않습니다. 그렇게하면 다른 기본 변환 명령을 사용할 수 있습니다 (그리고 아이디어는 항상 언어로 일반적인 기본 변환을 유지해야했습니다).
maxb

확실히 당신은 +바닥 글로 이동할 수 있습니다
Jo King

1

펄 5 , 460 바이트

printf"%023b",oct"0x$_"for qw/15400 141404 4444b2 555524 0 600 1a00 1a00 2a00 3e00 0 61c618 400190 68c61a 7df7df 0 80002 0 40001 7c001f 0 618718 404010 68639a 7df7df 0 81802 1800 41801 7c181f 1800 100804 81808 61810 18860 1980 18860 61810 81008 101804 201804 200808 101010 80060 60180 11d600 101000 107c00 10ba5b 1393f 5c3837 283b 10283f 102830 106c00 0 1c1000 1d4555 1c0154 140 7c00 1ff00 701c0 c0060 1a00b0 330198 228288 224488 22880 21080 20080 9400 3cfa78/

온라인으로 사용해보십시오!


1

파이썬 2 , 336 바이트

print bin(int('gVQAKCgJERLKqqkgAAAAAMAABoAADQAAKgAAfAAAAAMOMMQAGQ0Yw19998AAAAgAAgAAABAAB+AA+AAADDDjEBAENDHNffffAAAAIGAIAMAAQYAfgwPgBgAIBAIIGAgMMCAGIYAAzAAYhgDDAgIEAggMAiAYBEAQEEBAQEADAGAYAjrABAQACD4AELpbAnJ/cODcAUHZAoPyBQYEGwAAAAAcEAA6iqpwBVAACgAHwAA/4AHAcAYAMBoAsGYDMIoKIRIkQCKIAEIQAIAgAEoAPPp4'.decode('base64').encode('hex'),16))[3:]

온라인으로 사용해보십시오!

바이트 문자열을 인쇄합니다


1

자바 (OpenJDK 8) , 364 바이트

n->new java.math.BigInteger("in95mzupnpa2r0khpoepyql6ioqyn413avucdtfay6indx4wh9dehe3sn18klobtf4z9g9q17umqmwpegr2khb5eqinn7azl4jpfp2a8eui0xfrx5qwrou6gd65jh4ge3ls14k5lu7qrvmg6942ms29u5rb8fa6yrdhfoh5zoi9bdi7uh5ig0u0ff9kounth8sh357x7qox4m3oqviqsbrvakonbka4ahp21bgzi5v1akzzuqoncszhpabbru9q1uo2g11zr73iuyiqr5ikr69zn7cdv7e1lhd6ese9",36).toString(3).replaceAll("2","0000")

온라인으로 사용해보십시오!

설명 : 먼저 n->new java.math.BigInteger(str,36).toString(2)기수 36 숫자를 이진수로 변환했지만 앞에 0을 추가하기 위해 9 개의 추가 문자가 필요했습니다. 그런 다음 런타임 길이 인코딩을 0으로 2로 설정한다는 아이디어를 얻었습니다. 네 개의 제로 길이는 기수 36 길이를 최소화하는 것으로 보입니다.n->new java.math.BigInteger(str,36).toString(3).replaceAll("2","0000")

@KevinCruijssen의 제로 버그 수정에 대해서는 이 답변 아래의 토론을 참조하십시오.


좋은. Java에 비해 매우 짧습니다!
Eric Duminil

1

[파이썬 2] 345 바이트

s=''
for c in")pG/K(K*j$h%kk$ppjGE&I6S6S5[5eCv~vw0x&z$wgqcde$e=G4G?G4eG0e:vv~w*G,gn$wy$uuuuG=G)I,G.I2G(I-eG(I)e-I0G+G+G(G)I*G*vI)G-w'I2y0w'I,vI)G*G)G+G(G*I+W+I+W,G*G(G*G*G*G/I,I+I,iq.G*G1G(e/g$c%sG)m%md~$M(},K(cO)K(eO)K(I)G(aE$M(G1c$hpoI,pG3K1e3eU/M*M,I.I*S,Q(y*y'hG(ng&j$j$G+hW/g'G/G,G1k.d$e$mN":c=ord(c)-35;s+=[bin(c-35)[2:],'0'*c][c<35]
print s

chr (31)에서 시작하는 바이트로 0의 문자열 길이를 인코딩했습니다. 그런 다음 나머지 10101을 chr (70)에서 chr (126)까지 이진 숫자로 인코딩했습니다. 맞지 않는 이진 줄은 더 작은 덩어리로 나 were습니다.

편집 : 326 바이트로 줄었습니다. 감사합니다 조 킹

편집 : 코드 생성기 프로그램의 버그 수정

편집 : 최종 편집


큰 문자열을 o변수 에 저장할 필요는 없습니다 .
xnor

1

Zsh , 577 바이트

온라인으로 사용해보십시오!

S=fxxxxibxxdxxfyzzzyx1yxxxxxxxxyyywl2ij1xxhj1xxhixxxhi5iw2d3c2d2cxl2bxc2az2c2d2ax4x4x4x5wcxpxwdxp15m5w2d2d3c2cxfxhxc1xxc2c2y1xx4x4x4x5wc1f2ixj2kd1e2j15e2f5j2kb1h1hyc1f2gzd2d2fzaf2c1d2ej2b2gf2c1d2ed2d2f1dc1f1hzb1g2hya1h2hya1i1gzb1g1g1dc1l2ed2h2gbz2xx2ibzd1lbzb5jb1dx2xyx1x2fy2yy6x3d3e2a3ixxd2x2b1fxxd6b1fxxd2db1e2a2jwb3e1lb2xxzxxxxx1b3ixxxynxxeh5jf9hd3g3fc2k2eb2a1ix2da2b2g2b2cazxxdxzzazyzyzzezxz1ge1d1d1ge1i1ggyxxia3y4xy3z
for X in ${(s::)S};{case $X in
[a-w])V=$[##$X-96];printf 0%.s {1..$V};;[1-9])V=$[##$X-48];printf 1%.s {1..$V};;[x-z])V=$[##$X-119];printf $[10**$V];;esac}

사용자 지정 인코딩 논리를 사용했습니다. 문자열 S은 421 자이며 약간 더 압축 될 수 있습니다. 문자 a-w는 반복되는 0s를 나타냅니다 . 숫자 1-9는 반복되는 1s를 나타냅니다 . 문자 x y z10 100 1000각각 나타냅니다 .

아마도 바이트 쌍 인코딩 또는 Ascii85 시도 했을 것 입니다.


0

배쉬 , 702 697 바이트

xxd -r -p<<X|xz -dc
fd377a585a000004e6d6b4460200210116000000742fe5a3e006d7010c5d
0018698865079cf6752c9e9a501a87a798b4844f9fcfdaaf87733b9d8239
48c816d860a938767f6cb81299f3e8a638effe3068c0e096a8949c81d706
7dff3ec44e5df185b3a48e5b5857724386e8c37cfbd5c856b12614ee78ec
c41df4db3aea71fd3a8fa474905609f78eb3fd66e246557965e4ab6dfd67
efbd9202f542ded9cf98a6401ee2d23afb2f544bd2442c6f428fd612397c
f2c6ec50847ddccc5832185e487712e5a7676b97058d7e485d5a3536166a
44ab3c689c93073cdda73b5306a83c4cd268e79db238bfa2d08ac912a578
75020bc7828342d5a62ce367aff7fd89290336128d119fa4272da2b2a79f
5973c71935af054f2d91c1bd3ea4847a3502d6dc8c975114dacf8a4de600
622d80986dbb0cd00001a802d80d00001b16e2a7b1c467fb020000000004
595a
X

온라인으로 사용해보십시오!


0

루비 , 362 바이트

puts"5r0afnfm8wyke8tfy1pwt7xnuaxyh3wodfp7bhsdufyw0xbdp1pumrz2xir652tuc0ss9oec8yad9vefivd66j126wybhefgk2lv38uqqiur11u26q275jk3h2ucithd59awpaenqpqi1pszh52179zw0ddqtbrvo6kyrrgv8c34pqrp83j8estjp63v29t4hqp9yg2hhzjlq1e9zqx6gh20n9lsttimz3nbq060ritrphxaru7quwmv3oujhd9xjddpbacq4bnpf270znhgto59yn0980itylf95pxw9x7rvkvi7mfql1sx46puo8rg4dq0".to_i(36).to_s(2).rjust(1679,?0)

기초 36으로 작성된 정수 . 정수를 압축하는보다 효율적인 방법이 있습니다 (예 : zlib또는) base64.

온라인으로 사용해보십시오!


다음과 같은 경우 350 바이트 : (1) to_s 대신 "% b"를 사용하여 포맷합니다. (2) rjust를 호출하는 대신? 0 * 6을 앞에 추가
GB

0

[C ++ (VC ++) (하지만 gcc로 테스트)), 585 바이트

#define l(x,y)for(int x=0;x<y;x++)
void f(){const char*a="02A800505012Y595Y240U180YD0Y1A0Y540YF80V61C618800321A3186BEFBEF80X10Y40W20YFC001F0X1861C620200868639AFBEFBE0W40C0100180Z83003F0607C00C001008041030101860400C430Z19800310C018604040804101804403008802020808080800600C030047580080800107C002174B604E4FEE1C1B80283B20507E40A0C08360U3820Z751554E00AA0Z140ZF80Z7FC00380E00C0060340160CC06611414422448804510Z8420010040Z940079F4F0";int x=1679;l(i,365){int d=a[i],c=0;d-=(d>47&d<58)?48:((d>64&d<71)?55:0);if(d>70&d<91)c=91-d,d=a[i-1];for(c;c>=0;c--)l(j,4){if(x--)cout<<(int)((d&(8>>j))>0);}}}

온라인으로 사용해보십시오!

ungolfed Version (1679 번째 요소 이후의 중단을 잃고 1680 번째까지갑니다) :

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    const char arecibo[]="02A800505012Y595Y240U180YD0Y1A0Y540YF80V61C618800321A3186BEFBEF80X10Y40W20YFC001F0X1861C620200868639AFBEFBE0W40C0100180Z83003F0607C00C001008041030101860400C430Z19800310C018604040804101804403008802020808080800600C030047580080800107C002174B604E4FEE1C1B80283B20507E40A0C08360U3820Z751554E00AA0Z140ZF80Z7FC00380E00C0060340160CC06611414422448804510Z8420010040Z940079F4F0";
    int i = 0,j;
    while (i<sizeof(arecibo)-1)
    {   
        char digit = arecibo[i];
        int count=0;
        if (digit >= '0' & digit <= '9')
        {
            digit -= '0';
        }
        else if (digit>='A'& digit<='F')
        {
            digit -=  'A'-10;
        }
        else if (digit > 'F'&digit<='Z')
        {
            //digit does not contain any valid hex digit in this case
            count = 'Z' - digit+1; //digit = Z means repeat 2 more times...
            digit = arecibo[i - 1];
        }
        for (count; count >= 0; count--)
        {
            for (j = 0; j<4; j++)
            {
                cout << (int)(((digit)&(8 >> j))>0);
            }
        }
        i++;
    }
    return 0;
}

설명 : 나는 하나의 긴 줄에 주어진 73 줄의 샘플 출력을 연결했습니다. 비트 순서가 msbfirst 인 16 진수로 인코딩했습니다 (이 프로그램 https://github.com/Marc-Bender/longBinaryStreamToHex/releases/download/addedErrorCode-4/longBinaryStreamToHex.exe 사용 ) 출력을 약 70 줄였습니다. 16 진 숫자는 'G'- 'Z'문자를 부호로 사용하여 마지막 숫자를 특정 횟수 (Z = 2 회, Y = 3 회…) 동안 반복함으로써 나머지는 Code-Golfers에 대해 상대적으로 자기 설명 적이어야합니다. . 전처리기를 남용하여 루프를 단축하고 ,연산자 등을 남용합니다 .

출력 형식은 1679 0/1 값의 중단없는 스트림입니다.


누군가가 const를 요청하기 전에 VC ++과의 호환성 (주 개발 작업으로 수행 된 작업)
der bender

@ceilingcat 헤더 섹션에 포함을 넣어서 더 짧을 수 있다고 생각합니다 ...
der bender


0

펄 6 , 348 바이트

{"000000"~:36<5r0afnfm8wyke8tfy1pwt7xnuaxyh3wodfp7bhsdufyw0xbdp1pumrz2xir652tuc0ss9oec8yad9vefivd66j126wybhefgk2lv38uqqiur11u26q275jk3h2ucithd59awpaenqpqi1pszh52179zw0ddqtbrvo6kyrrgv8c34pqrp83j8estjp63v29t4hqp9yg2hhzjlq1e9zqx6gh20n9lsttimz3nbq060ritrphxaru7quwmv3oujhd9xjddpbacq4bnpf270znhgto59yn0980itylf95pxw9x7rvkvi7mfql1sx46puo8rg4dq0>.base(2)}

Benjamin Urquhart의 Java 솔루션을 기반으로 합니다 .

0과 1 자의 연속 스트림을 사용합니다. 아래 링크에는 출력을 확인하는 코드가 있습니다.

온라인으로 사용해보십시오!


0

Tcl , 366 바이트

binary scan [binary decode base64 QBUACgpIRKSpqkoCAAAAgAEAsAAAWAAAKgAAHwAAAGA4hhEATFiMYX3f9wEAAAgAIAAAAAQA8AOADwAAGIZjBAQQFsZZ3/d9AAAAAgMIgAEAwQD8YOADMAAIECAIDAgYBgIwwgCAGQCMMIBhICAQIAgYIAIMEAEEBAEBAQFgAAMMIK4BEBAACD4AhC5tICd/h4MdQMFNoOAnUDAQbAAAAAAcBACuqCoHUAUAKADwAQD+A8ABBzAABiyABjNghigoQiQSAaIIACEEgAACACkAni8P] b* z
puts [join [regexp -all -inline .{23} $z] \n]

온라인으로 사용해보십시오!


0

C ++ (Gnu 다중 정밀도 라이브러리 포함), 359 바이트

문자열을 한 줄로 출력합니다. 0에는 '1'을, 1에는 '0'을 사용합니다.

포함 된 문자열을 기본 62로 읽고 기본 2로 인쇄합니다.

를 사용하여 g++ -g arecibo.cpp -lgmp -lgmpxx컴파일 및 링크

#include<gmpxx.h>
main(){mpz_out_str(stdout,2,class_mpz("vuXXKBYAu1hPsJPbFSf49akyFd0bjJbMIV3upYndU8kYFPsXcpRUK6c9qnzLfORxkxGL7ZfoSwgSxFbCrydjHL603QcxexopAzoYAcAyEiENJJU2vQA2zM8NDbeY6nHgL8rfFoPJaclwxx6TeKeOEknEQHzp7C4la3o8xijBQLOVweFZ1CI9dXy2VQhgnuwF5FeW5mQ909pRMxhn6G3RJ1QEtkS7oGMZYHM03fh4fj391IoYLGVv3iUVuTrV2ghz9CUa9hfGYrdhGoVE2w1inYalYl",62).get_mpz_t());}

내가 교체 할 때까지 나는 일이를 가져올 수 없습니다 class_mpz와 함께mpz_class
ceilingcat

0

펄 6 , 276 바이트

:122[q{3tD!gLF['u#.K>'uCG8cvJZ[on1Z<D!	`Fhqq-_V'"qQn+n0h\:b,vXjo&1TMFaW;wvX;eUS
(ueelNSu,y93\kjGI&?UU/38 :ndi4Y5cyC+ME\g7LWaS;QLjtD^L+aVd(XW%gy\8'Eqk-+f72S5J?(r5!m^5px T[Z'3&jd0lZ'/x%#(}.ords].base(2)~~S/.//.say

온라인으로 사용해보십시오!

일련의 1679 0과 1로 출력합니다. .comb(23)>>앞에say 추가하여 다른 줄에 넣을 수 있습니다 .

설명:

:122["...".ords]                     # Convert the string from base 122
                .base(2)             # To base 2
                        ~~S/.//      # Remove the leading 1
                               .say  # And print

출력을 1679 비트 정수로 사용하거나 비트 표현을 반대로하여 바이트를 절약 할 수 있습니다.


0

C ++ (gcc) , 748 바이트

#define l(X,Y)if(z[i]==#X[0])z.replace(i,1,#Y);
void f(){std::string z = {"ab1eeedala1ebeeheal1mmma1fa1g1eeeeeeea1a1alddhgdbcdgdacedgdacedgdeeedgdndgddhgqiafbcag1dbfa1blceafafbcegcinnnlddhgmddegddhgb1ddelcidbnlddhgqqiafag1hedeblcebcaf1acegcinnnlddhgmhcdegdacdagb1bfda1lcibfhcildacdaga1d1d1almhcheagbqch1blhcmbqgdacachghcmbqgbqch1blmh1d1aga1hfd1aledcd1aledeheaga1heheblmdbqgbcdchga1af1efdga1hedbla1bndala1b1f1ea1fflh1aia1acccl1f1bibff1ldeebf1fla1h1ebfccla1h1ebfbla1bffdalddhgaibedblaieemeeeeelaideeeealdh1ehldcidalhcccidlbihf1hlafdafbgacedefblfachfacagemebeemagema1ma1magbememhgbeb1b1hgbedehghea1edalfcacieacca0"};for(int i=0;i<1751;i++){l(q,cb)l(n,fi)l(m,ae)l(i,c1)l(h,ba)l(g,0l)l(f,0c)l(e,01)l(d,bb)l(c,11)l(b,aa)l(a,00)l(l,\n)printf("%c",z[i]);}}

온라인으로 사용해보십시오!

더 이상 가치가 없어 질 때까지 가장 많이 사용되는 부분 문자열을 새로운 문자로 교체



0

파이썬 3 , 331 바이트

exit(''.join(bin(i)[3:]for i in b'`UP@JB`IDQKJjjd`@@@@@L@@Ah@@CP@@J`@@_@@@@@LNLLP@FPtXpu}}}|@@@@`@@`@@@A@@A~@@~@@@CCCcDA@DMCGM____@@@@HF@H@L@@PX@_`pO`A`@HA@HHF@`LLB@FHX@@s@@Xa`CC@`HD@``L@b@XAD@PDDA@PD@C@F@X@ck@A@P@BCx@DKi[@gI\x7f\\NC\\@TGY@hOrAPXDFp@@@@@\\D@@zbjipAU@@B`@Gp@@\x7fx@G@\\@X@LAh@lFXCLHhJHQHdPBJH@DHP@H@`@Dh@OOix')[1:])

온라인으로 사용해보십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.