#Lutece3303. 叠

Description

在传统下落式音乐游戏中,音符(note)在特定时刻出现在特定位置,玩家需要按正确的按键以获得分数。轨道是对应着相同按键的音符的轨迹。叠(Jack),又称叠键,是一种在同一轨道连续出现多个音符的键型。下图是一个叠的例子。

由于某些原因,玩家会形成错误的肌肉记忆,wwawwaww 也一样。一条轨道的信息可以用长度为 nn 的序列 a={a1,a2,,an}a=\{a_1,a_2,\ldots,a_n\} 表示,aia_i 表示第 ii 个时刻是否存在音符。ai=0a_i=0 表示第 ii 个时刻无音符,ai=1a_i=1 表示第 ii 个时刻有一个音符。对于一条特定的轨道,他记住了叠的压缩序列 len={len1,len2,,lenm}len=\{len_1,len_2,\ldots,len_m\},过程如下:

  1. 选出 mm 个区间 [l1,r1],[l2,r2],,[lm,rm][l_1,r_1],[l_2,r_2],\cdots,[l_m,r_m],满足:

    • 1l1r1,l2r2,,lmrmn1\le l_1\le r_1,l_2\le r_2,\cdots,l_m\le r_m\le n
    • 对于在 [1,m)[1,m) 的每个整数 jj,有 rj+1<lj+1r_j+1<l_{j+1}
    • 若下标 ii 属于这些区间的并集,则 ai=1a_i=1,否则 ai=0a_i=0

    容易证明在上述条件下 mm 和这些区间是唯一确定的。

  2. 对于 [1,m][1,m] 中的每个整数 jj,令 lenj=rjlj+1len_j=r_j-l_j+1

显然,可能存在多种不同的序列 aa 能得到相同的序列 lenlen。wwawwaww 现在只知道序列 lenlen 和原始序列 aa 的长度 nn。但是在得到 lenlen 后又忘记了 aa 中每个元素具体的值。他想求对 [1,n][1,n] 中的每个整数 ii,能否确认 aia_i 的值。为了尽快改掉这一不好的习惯和获得时间多练,他请您来解决这一问题。

Input

第一行包含两个整数 n,mn,m1mn2×1051\le m\le n\le 2\times 10^5),分别表示序列 aa 的长度和序列 lenlen 的长度。

第二行包含 mm 个整数 len1,len2,,lenmlen_1,len_2,\ldots,len_m($len_1,\ldots ,len_m\ge 1,m-1+\sum_{j=1}^m len_j\le n$),第 ii 个数表示 lenilen_i

Output

输出一个长为 nn 的字符串 ss,若能确定 ai=1a_i=1,则 si=1s_i=\texttt{1},若能确定 ai=0a_i=0,则 si=0s_i=\texttt{0},否则 si=?s_i=\texttt{?}(下标从 11 开始)。

Samples

7 2
2 3
?1??11?
4 2
2 1
1101
6 3
1 1 1
??????

Note

对于第一个样例,所有可能的 aa 为 $\{1,1,0,1,1,1,0\},\{1,1,0,0,1,1,1\},\{0,1,1,0,1,1,1\}$。a2,a5,a6a_2,a_5,a_6 必定为 11,其余位置都可能有两种取值。

Resources

电子科技大学第十三届 ACM 趣味程序设计竞赛