MUL2COM - Binary multiplication

In this problem, you have to multiply two n-bit binary numbers in 2s complement form. The result should be also a n-bit binary number in 2s complement form. In case there is an arithmetic overflow, you program should be able to detect it.

For your information, the 2s complement form of -x is the number 2^n-x. A n-bit 2s complement number ranges from -2n-1 to 2n-1-1.

Input

There are multiple test cases (no more than 40). For each test case, there are three input lines. The first line contains n (0 ≤ n ≤ 1024). n=0 signals the end of the input. Otherwise, the second and third lines contain the two n-bit binary numbers.

Output

For each test case, output "overflow" if there is an arithmetic overflow. Otherwise, print the result in 2s complement form.

Example

Input
3
110
011
4
0011
1110
0

Output
overflow
1010

Được gửi lên bởi:Jimmy
Ngày:2008-09-10
Thời gian chạy:0.204s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ADA95 ASM32 BASH BF C CSHARP CPP C99 CLPS LISP sbcl LISP clisp D FORTRAN HASK ICON ICK JAVA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON RUBY SCM guile SCM qobi ST WHITESPACE
Nguồn bài:© VNOI

hide comments
2009-06-03 05:52:37 RR
http://en.wikipedia.org/wiki/Booth%27s_multiplication_algorithm
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.