能否购买
题号:NC54257
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

zzz即将过生日,NQ想要送他一份生日礼物,正巧碰上蛋糕店做活动,NQ义无反顾参与其中。

蛋糕店店长给出一个长度为 n 的整数序列,并另外给出 m 个数,对于这每一个数 b,需要NQ判断是否能在原序列中找出一段长度不超过 k 的连续序列,使其各元素之和大于等于 b。

若对于这 m 个数,NQ都能回答正确,则将获得一折购买大蛋糕的优惠,但是NQ不会做这题,所以向致力于 ACM 的你求助,希望能够一起给zzz过生日。

输入描述:

第一行输入三个用空格隔开的整数 n, m, k,具体含义如题所述。
第二行一共 n 个整数 ai,表示这个序列中第 i 个元素的值。
接下去 m 行,每行一个整数 b,表示询问。
1 ≤ n, m, k ≤ 106, |ai| ≤ 103, |b| ≤ 109

输出描述:

对于每一个整数 b,如果原序列 a 中存在满足题意要求的序列,则输出 "YES", 否则输出 "NO".(均不包含引号)
示例1

输入

复制
5 3 2
1 -1 2 3 -2
1
5
6

输出

复制
YES
YES
NO