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.

TAARR031 - Many Time Pad 2

Phép XOR là một phép toán rất thường được dùng trong mật mã, bao gồm cả mật mã hiện đại. Có một hệ mật cực kỳ đơn giản, nhưng lại được chứng minh là "an toàn tuyệt đối", gọi là OTP - One Time Pad. Trong OTP, một bản rõ kích thước n byte (p1p2p3...pn) sẽ được mã hóa bằng một khóa ngẫu nhiên dài n byte (k1k2k3...kn) để tạo ra bản mã cùng kích thước n byte (c1c2c3...cn). Trong đó, mỗi byte bản mã được tạo ra bằng cách kết hợp byte bản rõ và byte khóa tương ứng qua phép XOR: ci = pi XOR ki.

OTP là an toàn tuyệt đối, nhưng có điểm hạn chế lớn là kích thước khóa quá lớn, phải bằng kích thước bản rõ. Để tránh điểm hạn chế này, người ta đưa ra một biến thể của OTP, gọi là MTP (Many Time Pad). Trong đó, khóa được dùng có thể ngắn hơn đáng kể so với bản rõ, và chuỗi byte khóa sẽ được dùng đi dùng lại nhiều lần. Nhiệm vụ của bài tập này là thực hiện mã hóa dữ liệu bằng thuật toán mật mã Many Time Pad.

Input

Dòng 1: klen - số nguyên dương, là độ dài của khóa, klen < 10.000
Dòng 2: khóa klen byte được cho ở dạng chuỗi hexa
Dòng 3: plen - số nguyên dương, là độ dài của bản rõ, plen < 10.000.000
Dòng 4: bản rõ plen byte được cho ở đạng chuỗi hexa

Output

Một dòng duy nhất, là bản mã được biểu diễn ở dạng hexa (các kí tự hexa được viết hoa).

Example

Input:
20
305815311A17A364244F3D16CD5276DB6BEE7E77
35
3C0645E45DA3B309E56E6AE0AB7295F8DAC24D15F36BBDC811A7844371535A6C31A3F7

Output:
0C5E50D547B4106DC12157F66620E323B12C3362C333A8F90BB02727551C677AFCF181

Added by:Nguyễn Tuấn Anh
Date:2017-10-13
Time limit:1s-4s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:C

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