2944: 高精度

内存限制:256 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:28 解决:18

题目描述

小 G 最近学会了二进制数,他觉得太小的二进制数太没意思,于是他想对 一个巨大二进制数做以下 4 种基础运算: 运算 1:将整个二进制数加 1 运算 2:将整个二进制数减 1 运算 3:将整个二进制数乘 2 运算 4:将整个二进制数整除 2 小 G 很想知道运算后的结果,他只好向你求助。 (Ps:为了简化问题,数据保证+,-操作不会导致最高位的进位与退位)

输入

第一行两个正整数 n,m,表示原二进制数的长度以及运算数。 接下来一行 n 个字符,分别为‘0’或‘1’表示这个二进制数。 第三行 m 个字符,分别为‘+’,‘-’,‘*’,‘/’,对应运算 1,2,3,4。

输出

一行若干个字符,表示经过运算后的二进制数。

样例输入 复制

4 10
1101
*/-*-*-/*/

样例输出 复制

10110

提示

【数据规模和约定】 对于 30%的数据,1 ≤ n , m ≤ 1000。 对于 60%的数据,1 ≤ n , m ≤ 10^5。 对于 100%的数据,1 ≤ n , m ≤ 5*10^6。