Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P186PROI - ROUND 6I - Mã hóa dịch bit

Lúi nay chuẩn bị thi môn mật mã học, câu đang ôn thi rất miệt mài. Mã hóa dịch vòng là thuật toán mã hóa được phát biểu như sau:

-          Cho một xâu nhị phân có độ dài N. Ta thực hiện dịch xâu nhị phân này qua phải K lần (xâu nhị phân giữ nguyên chỉ thay đổi vị trí là được dịch sang phải). Sau đó ta được K xâu nhị phân giống nhau nhưng đặt lần lượt vào các vị trí trượt cách nhau 1 ô. Tương ứng với mỗi ô. Ta sẽ xor các bit lại với nhau để được một xâu nhị phân mới có độ dài N’ = N + K – 1. Ví dụ, dãy nhị phân ban đầu là 1101001 ta thực thực mã hóa với k = 3:

1101001

  1101001

    1101001

----------------

100011111

Lúi rất hứng thú với loại mã hóa này, và câu muốn tìm xem có cách nào giải mã thật nhanh xâu nhị phân sau khi đã mã hóa hay không. Các bạn hãy giúp Lúi nhé.

Input

Dòng đầu gồm 2 số nguyên N và K (1 <= N, K <= 106).

Dòng thứ hai gồm 1 xâu nhị phân có độ dài N’ = N + K – 1 biểu diễn xâu nhị phân sau khi mã hóa.

Output

Xâu nhị phân có độ dài N là xâu nhị phân ban đầu trước khi mã hóa. Nếu không tìm được xâu nhị phân ban đầu, in ra -1.

Example

Input:
7 3
100011111 Output: 1101001

Được gửi lên bởi:adm
Ngày:2018-04-06
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.