#include <bits/stdc++.h>
using namespace std;
string convert(long long int a) {
  string temp;
  while (a != 0) {
    temp.push_back(a % 10 + '0');
    a = a / 10;
  }
  reverse(temp.begin(), temp.end());
  return temp;
}
vector<string> gen() {
  long long int a = 8;
  vector<string> out;
  out.push_back("0");
  long long int i = 1;
  while (a < 1000) {
    string temp = convert(a);
    out.push_back(temp);
    i++;
    a = 8 * i;
  }
  return out;
}
int main() {
  string code;
  cin >> code;
  vector<string> a = gen();
  for (long long int i = 0; i < a.size(); i++) {
    string temp = a[i];
    long long int k = 0;
    long long int cnt = 0;
    vector<long long int> position;
    for (long long int j = 0; j < code.size(); j++) {
      if (temp[k] == code[j]) {
        cnt++;
        position.push_back(j);
        k++;
      }
      if (temp.size() == cnt) {
        cout << "YES" << endl;
        cout << temp << endl;
        return 0;
      }
    }
  }
  cout << "NO" << endl;
}
