#P5141. 列队

列队

题目背景

本题是数据加强版,弱化版请参考NOIP2017NOIP2017 DAY2DAY2 T3T3

好了吓吓你们

题目描述

前段时间,kkll参加了CTYZCTYZ高一的的军训。众所周知,军训的时候需要站方阵。

kkll 所在的队伍中有原本有蒟蒻(巨佬)2N2*N个,然而现在的只剩kkll等少数巨佬和一些蒟蒻了。

巨佬 dwqdwq :教官我还有今年IOIIOI的最后一题没调完,我先回去把题切了。

教官:行,准假,过十分钟调完了就先回去休息吧。

蒟蒻 yzyz :教官我今天任务计划里的红题还没做完,我要回去做。

教官:你现在回去也调不出来,乖乖站♂好,不要老是想偷懒。

kkll是一个热爱学习的男♀孩子,现在他发现,操场上只剩两列队了,原本两列的长度都为NN,并且这两列队还残缺不全,蒟蒻在第一列,巨佬在第二列,并且如果一行中有巨佬,其气场会导致旁边不敢站蒟蒻。

就算是这样,仅存巨佬们的战斗力还是比蒟蒻们的战斗力大(废话)

CTYZCTYZ里面,一列队战斗力值是这样定义的

Fight=i=0n1pi2iFight=\sum_{i=0}^{n-1} p_{i}*2^{i}

其中ii为行标号,从00开始,pi=1/0p_{i}=1/0表示这一行是否有人,

现在kkll已经知道目前巨佬队伍的站队情况,现在他想问你,蒟蒻们有多少种可能的站队方式。

然而kkll觉得这样的太简单了,kkll现在有MM个询问,每次会给你一个蒟蒻战斗力值范围[a,b][a,b]和一个kk,表示他希望知道蒟蒻们的战斗力值在[a,b][a,b]之间,战斗力值第kk大的蒟蒻站队方式的战斗力值,如果站队方式总数小于kk,那么输出POORPOOR AFO!AFO!

输入格式

第一行两个个整数N,MN,M表示队列有NN行,kkll的询问有MM次。

第二行为一串0101串,表示巨佬们的站队方式。

接下来MM行,每行三个数ai,bi,kia_{i},b_{i},k_{i},表示kkll的询问。

输出格式

输出MM行表示答案,kkll特别良心,允许你对于这个战斗力取模2003110220031102输出。

5 5
0 1 0 1 0 
0 4 5
0 3 4
0 0 1
0 1 2
4 4 1
POOR AFO!
POOR AFO!
0
0
4
10 5
1 1 0 1 1 0 0 1 0 0 
0 56 7
30 126 7
62 116 5
20 100 1
8 108 1
POOR AFO!
POOR AFO!
POOR AFO!
100
100
5 1
0 0 0 0 1
0 999 1
15

提示

对于5050%的数据,N<=20,M<=50N<=20,M<=50

对于100100%的数据,N<=62,M<=500000N<=62,M<=500000

时限很松,请放心食用。