//teja349
#include <bits/stdc++.h>
#include <vector>
#include <set>
#include <map>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <climits>
#include <utility>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <iomanip>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
//setbase - cout << setbase (16); cout << 100 << endl; Prints 64
//setfill - cout << setfill ('x') << setw (5); cout << 77 << endl; prints xxx77
//setprecision - cout << setprecision (14) << f << endl; Prints x.xxxx
//cout.precision(x) cout<<fixed<<val; // prints x digits after decimal in val
using namespace std;
using namespace __gnu_pbds;
#define f(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) f(i,0,n)
#define fd(i,a,b) for(i=a;i>=b;i--)
#define pb push_back
#define mp make_pair
#define vi vector< int >
#define vl vector< ll >
#define ss second
#define ff first
#define ll long long
#define pii pair< int,int >
#define pll pair< ll,ll >
#define sz(a) a.size()
#define inf (1000*1000*1000+5)
#define all(a) a.begin(),a.end()
#define tri pair<int,pii>
#define vii vector<pii>
#define vll vector<pll>
#define viii vector<tri>
#define mod (1000*1000*1000+7)
#define pqueue priority_queue< int >
#define pdqueue priority_queue< int,vi ,greater< int > >
#define flush fflush(stdout)
#define primeDEN 727999983
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
// find_by_order() // order_of_key
typedef tree<
int,
null_type,
less<int>,
rb_tree_tag,
tree_order_statistics_node_update>
ordered_set;
int mini[12],maxi[12];
int main(){
std::ios::sync_with_stdio(false); cin.tie(NULL);
int t;
cin>>t;
while(t--){
string s;
cin>>s;
int i;
rep(i,10){
mini[i]=inf;
maxi[i]=-1;
}
int val,j,ans=200;
rep(i,s.length()){
val=s[i]-'0';
mini[val]=min(mini[val],i);
maxi[val]=max(maxi[val],i);
}
rep(i,10){
if(mini[i]!=inf && i%4==0){
ans=min(ans,i);
}
rep(j,10){
if(mini[i]<maxi[j] &&(i*10+j)%4==0){
ans=min(ans,i*10+j);
}
}
}
if(ans!=200){
cout<<"YES ";
cout<<ans<<endl;
}
else{
cout<<"NO"<<endl;
}
}
return 0;
}
Ly90ZWphMzQ5CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4gCi8vc2V0YmFzZSAtIGNvdXQgPDwgc2V0YmFzZSAoMTYpOyBjb3V0IDw8IDEwMCA8PCBlbmRsOyBQcmludHMgNjQKLy9zZXRmaWxsIC0gICBjb3V0IDw8IHNldGZpbGwgKCd4JykgPDwgc2V0dyAoNSk7IGNvdXQgPDwgNzcgPDwgZW5kbDsgcHJpbnRzIHh4eDc3Ci8vc2V0cHJlY2lzaW9uIC0gY291dCA8PCBzZXRwcmVjaXNpb24gKDE0KSA8PCBmIDw8IGVuZGw7IFByaW50cyB4Lnh4eHgKLy9jb3V0LnByZWNpc2lvbih4KSAgY291dDw8Zml4ZWQ8PHZhbDsgIC8vIHByaW50cyB4IGRpZ2l0cyBhZnRlciBkZWNpbWFsIGluIHZhbAogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwogCiNkZWZpbmUgZihpLGEsYikgZm9yKGk9YTtpPGI7aSsrKQojZGVmaW5lIHJlcChpLG4pIGYoaSwwLG4pCiNkZWZpbmUgZmQoaSxhLGIpIGZvcihpPWE7aT49YjtpLS0pCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgdmkgdmVjdG9yPCBpbnQgPgojZGVmaW5lIHZsIHZlY3RvcjwgbGwgPgojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGZmIGZpcnN0CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGlpIHBhaXI8IGludCxpbnQgPgojZGVmaW5lIHBsbCBwYWlyPCBsbCxsbCA+CiNkZWZpbmUgc3ooYSkgYS5zaXplKCkKI2RlZmluZSBpbmYgKDEwMDAqMTAwMCoxMDAwKzUpCiNkZWZpbmUgYWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiNkZWZpbmUgdHJpIHBhaXI8aW50LHBpaT4KI2RlZmluZSB2aWkgdmVjdG9yPHBpaT4KI2RlZmluZSB2bGwgdmVjdG9yPHBsbD4KI2RlZmluZSB2aWlpIHZlY3Rvcjx0cmk+CiNkZWZpbmUgbW9kICgxMDAwKjEwMDAqMTAwMCs3KQojZGVmaW5lIHBxdWV1ZSBwcmlvcml0eV9xdWV1ZTwgaW50ID4KI2RlZmluZSBwZHF1ZXVlIHByaW9yaXR5X3F1ZXVlPCBpbnQsdmkgLGdyZWF0ZXI8IGludCA+ID4KI2RlZmluZSBmbHVzaCBmZmx1c2goc3Rkb3V0KSAKI2RlZmluZSBwcmltZURFTiA3Mjc5OTk5ODMKbXQxOTkzNyBybmcoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKIAovLyBmaW5kX2J5X29yZGVyKCkgIC8vIG9yZGVyX29mX2tleQp0eXBlZGVmIHRyZWU8CmludCwKbnVsbF90eXBlLApsZXNzPGludD4sCnJiX3RyZWVfdGFnLAp0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Cm9yZGVyZWRfc2V0OwogCmludCBtaW5pWzEyXSxtYXhpWzEyXTsKaW50IG1haW4oKXsKICAgIHN0ZDo6aW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOwogIAlpbnQgdDsKICAJY2luPj50OwogIAl3aGlsZSh0LS0pewogIAkJc3RyaW5nIHM7CiAgCQljaW4+PnM7CiAgCQlpbnQgaTsKICAJCXJlcChpLDEwKXsKICAJCQltaW5pW2ldPWluZjsKICAJCQltYXhpW2ldPS0xOwogIAkJfQogIAkJaW50IHZhbCxqLGFucz0yMDA7CiAgCQlyZXAoaSxzLmxlbmd0aCgpKXsKICAJCQl2YWw9c1tpXS0nMCc7CiAgCQkJbWluaVt2YWxdPW1pbihtaW5pW3ZhbF0saSk7CiAgCQkJbWF4aVt2YWxdPW1heChtYXhpW3ZhbF0saSk7CiAgCQl9CiAgCQlyZXAoaSwxMCl7CiAgCQkJaWYobWluaVtpXSE9aW5mICYmIGklND09MCl7CiAgCQkJCWFucz1taW4oYW5zLGkpOwogIAkJCX0KICAJCQlyZXAoaiwxMCl7CiAgCQkJCWlmKG1pbmlbaV08bWF4aVtqXSAmJihpKjEwK2opJTQ9PTApewogIAkJCQkJYW5zPW1pbihhbnMsaSoxMCtqKTsKICAJCQkJfQogIAkJCX0KICAJCX0KICAJCWlmKGFucyE9MjAwKXsKICAJCQljb3V0PDwiWUVTICI7CiAgCQkJY291dDw8YW5zPDxlbmRsOwogIAkJfQogIAkJZWxzZXsKICAJCQljb3V0PDwiTk8iPDxlbmRsOwogIAkJfQogIAl9CiAgICByZXR1cm4gMDsgICAKfSA=