아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Zakłócenia

시간 제한1초메모리 제한1024 MB

요약
8n개의 뒤섞인 비트가 주어질 때, ASCII 코드의 비트를 정확히 그대로 사용하는 소문자 n개 문자열을 아무거나 찾는다.
난이도

보통10점 중 5점

유형
그리디, 문자열, 수학, 비트 연산
정답자
아직 제출이 없습니다

문제

W komunikacji sieciowej bardzo istotne jest, by korzystać z protokołów sieciowych, które zapewnią, że dane wysłane przez nadawcę wiadomości będą zgodne z danymi uzyskanymi przez odbiorcę wiadomości. Niedopilnowanie tego może skutkować trudnościami w poprawnym odczytaniu wiadomości przez odbiorcę. Taka sytuacja spotkała Bajtka i Bitka. . .

Bajtek chciał wysłać przez internet do Bitka ciąg n małych liter alfabetu angielskiego. W tym celu komputer Bajtka skonwertował każdą kolejną literę tego ciągu na jej ośmiobitową reprezentację w kodowaniu ASCII:∗

LiteraKod ASCIILiteraKod ASCIILiteraKod ASCIILiteraKod ASCII
a01100001h01101000o01101111u01110101
b01100010i01101001p01110000v01110110
c01100011j01101010q01110001w01110111
d01100100k01101011r01110010x01111000
e01100101l01101100s01110011y01111001
f01100110m01101101t01110100z01111010
g01100111n01101110

Nietrudno zauważyć, że i-ta mała litera alfabetu angielskiego (1 ≤ i ≤ 26) otrzymuje kod ASCII, który jest zapisem binarnym liczby 96 + i.

Następnie komputer Bajtka skleił n ośmiobitowych ciągów w jeden długi ciąg bitów długości 8n – reprezentację n-znakowego ciągu Bajtka. W końcu komputer Bajtka wysłał tę reprezentację przez internet do komputera Bitka. Niestety, każdy bit został wysłany w oddzielnym pakiecie sieciowym, przez co bity mogły dojść do Bitka w zupełnie innej kolejności niż oryginalna!

Przemieszany ciąg bitów dotarł wreszcie do Bitka. Oczywiście taki ciąg bitów nie musi obecnie reprezentować żadnego n-znakowego ciągu małych liter alfabetu angielskiego. Pomimo tego, że ciąg bitów nie zawiera żadnej dodatkowej informacji na temat ich poprawnej kolejności, Bitek postanowił się jednak nie poddawać. Uznał więc, że spróbuje odzyskać jakikolwiek ciąg n małych liter alfabetu angielskiego, którego reprezentacja w postaci ciągu 8n bitów mogła dojść do Bitka w takiej postaci. Pomóż mu i znajdź taki przykładowy ciąg – lub stwierdź, że taki nie istnieje!


∗Więcej na temat kodowania ASCII możesz dowiedzieć się z Wikipedii: https://pl.wikipedia.org/wiki/ASCII. Jednakże podany tu opis w zupełności wystarczy do rozwiązania zadania.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 ≤ n ≤ 105).

W drugim wierszu wejścia znajduje się słowo binarne długości 8n, które oznacza ciąg bitów otrzymany przez Bitka.

출력

Jeśli ciąg otrzymany przez Bitka nie odpowiada żadnemu słowu długości n złożonemu wyłącznie z małych liter alfabetu angielskiego, to na wyjściu powinno znaleźć się pojedyncze słowo NIE.

W przeciwnym wypadku na wyjściu powinien znaleźć się dowolny ciąg znaków długości n złożony z małych liter alfabetu angielskiego, który po zakodowaniu przez komputer Bajtka i przesłaniu przez sieć do Bitka mógł dotrzeć jako ciąg bitów podany na wejściu. Jeśli istnieje wiele poprawnych ciągów znaków, możesz wypisać dowolny z nich.

힌트

Wyjaśnienie przykładu: Litera a w ASCII reprezentowana jest przez ciąg bitów 01100001, zaś litera o reprezentowana jest przez 01101111. Ciąg ao wysłany do Bitka został zatem przekonwertowany na ciąg 0110000101101111. Bity wiadomości mogły więc przyjść do komputera Bitka w kolejności 1100000011110111.

예제3

  1. 예제 1

    입력
    2
    1100000011110111
    
    예상 출력
    ao
    
  2. 예제 2

    입력
    8
    1011111010101100011011011010001010100011111111110001001001011010
    
    예상 출력
    potyczki
    
  3. 예제 3

    입력
    1
    00011000
    
    예상 출력
    NIE