.Delhi's odd even problem

This is my code which is giving a slightly wrong output. can you tell me where am I going wrong?
#include
using namespace std;
int main() {
int val, num, sume = 0,sumo=0,x,n,i=1;
cin>>n;
while(i<=n){
cin>>val;
i++;

num = val;
while (num != 0)
{
    x=num%10;
    if(x%2==0){
    sume = sume + num % 10;
    num = num / 10;
}
    else {
        sumo = sumo + num % 10;
        num = num / 10;
    }

}
        if(sume%4==0||sumo%3==0){
            cout<<"yes";
        }
        else {
            cout<<"no";
        }
    
        }

}