题目描述
LazyChild发现fdu有海量的内网资源,相比之下他硬盘的容量捉襟见肘。于是LazyChild最近研究起了文件压缩的技术。
他提出了这样一个方法:
如果将原数据中连续n个1替换成n的二进制形式的时候会使得位数变少,那么就替换。例如,把11111111001001111111111111110011按照这种方法压缩后就得到了10000010011110011。原数据有32位,而压缩后只有17位。
然而这并不是一个完美的方法,因为有的时候可以用不止一种方法来解压,这会导致解压后无法得到原数据。
现在你已经知道原数据的长度L和其中1的个数N,请你帮LazyChild计算能否解压。保证原数据不超过16Kbytes并且压缩后的数据不超过40位。
输入格式
有多组测试数据,每组测试数据:
第一行两个正整数L,N。
第二行一个字符串表示压缩后的数据。
最后一组测试数据后紧跟一行仅含两个零。
输出格式
对于每组数据,一行一个字符串。
若能解压输出“YES”,若不能解压输出“NO”,若能用多种方法解压输出“NOTUNIQUE”。不含引号。
样例输入
样例输出