小R排数字
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小 R 是一只小猫。有一天她得到了一个正整数 n,且 n 在十进制表示下没有 0(不考虑前导零)。
\hspace{15pt}小 R 太顽皮了,以至于她将这个正整数 n 的数位重新排列为一个数(也可以不做排列,这样这个数依旧是 n )。
\hspace{15pt}现在小 R 的主人 T 想问问你,小 R 重组的数字是否有可能是 4 的倍数。

\hspace{15pt}本题有多组询问,你需要对每个询问都求出相应的结果。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}在一行上输入一个正整数 n \left(1 \le n \le 10^9\right) 代表初始数字。保证 n 在十进制下没有 0 数位。

输出描述:

\hspace{15pt}对于每一组测试数据,如果小 R 重组的数字有可能是 4 的倍数,在单独的一行上输出 \rm YES ;否则,直接输出 \rm NO(都是大写字母)。
示例1

输入

复制
3
32123432
1354
552122

输出

复制
YES
NO
YES

说明

\hspace{15pt}对于第一组测试数据,32\,123\,432 本身就是 4 的倍数。
\hspace{15pt}对于第二组测试数据,我们可以证明,1\,354 无法通过重排数位变成 4 的倍数。
\hspace{15pt}对于第三组测试数据,552\,122 可以重排成 122\,552,它是 4 的倍数。