求大神帮忙,最大位数不超过 4000000 位,该如何处理

求大神帮忙,最大位数不超过 4000000 位
火星明年举办火星杯足球赛;每一个足球队的队员人数要求刚好11;有很多很多的人要求参加比赛,你能不能刚好让每个人都能参加比赛? 约束条件:(1)一个人能够参加比赛的条件是他刚好是11个人之一;(2)一个人只能参加一支球队;

每一行只有一个正整数n, 表示人数; (n 可能很大, 但最大位数不超过 4000000 位);

对于每一个n, 独立一行输出答案;每个人都能参加比赛, 输出 YES; 否则输出 NO;

Sample Input

11
121
1
2
Sample Output

YES
YES
NO
NO

Hint: 输入尽量用 scanf 或者 gets() 等, 因为cin 可能会TLE; 
------解决思路----------------------
这是十进制数对11求余数 如果余数为0 
则 输出 YES否则输出NO
可以把 数据按照 两个字符一段转换成 int 求和,和是十一的倍数 则余数为0
4000000 分段后 恰好是2000000 每段最大是 99 
99* 2000000 
对于32Bits
int 为 200000000- 2000000 没有溢出.
------解决思路----------------------
奇数位 与 偶数位 的数字分别相加求差,如果差值可被 11 整除,则该数可以被 11 整除。

如果一边求和一边对 11 求模,多少位都不会溢出。