众所皆知,最近moxin被病毒困在了家里,moxin的妹妹是个神奇化学家,她发现如果给病毒灌入x毫升的液体,病毒只会保留(sum + x)%998857459的液体在病毒体内,(sum指病毒原来体内的液体量,一开始病毒体内的液体量为0)moxin的妹妹想要研究不同的毫升的液体在病毒体内对病毒的影响,这时候moxin帮助了妹妹,给了她n瓶ai!的液体,本来这是一个简单的问题,但是因为moxin的妹妹有强迫症,她只想连续的把液体加入病毒(取第4,5,6瓶的液体放入病毒是可行的,取第4,5,7瓶液体放入是不可行的),因为液体是有限的,所以moxin的妹妹想知道对于一个ki毫升的容量,最少使用几瓶液体?
【hint】
每次询问是独立的 只要大于等于ki就可以 比如样例 29 取 3!4! 3!+4!= 30 > 29即可
第一行给出一个n,m;n代表有n瓶液体,m代表moxin的妹妹想要知道m个容量的最少使用瓶数
第二行给出n个整数,每个整数ai代表这个液体瓶中有ai!的液体
(ai是对应的n的全排列,如果n为4,那么ai只能为1234中的任意一个,且每个数字只会出现一次)
第三行给出m个整数ki,代表moxin的妹妹想知道的对应的容量ki的使用的最少瓶数,如果无论如何使用都无法得到对应容量的话输出-1
保证对应的容量大小ki不会超过998857459
(1<=n<=100000, 1<=m<=10000)
输出m行,每行对应使用的最少瓶数
4 2 1 2 3 4 29 31
2 3