#include <bits/stdc++.h>
using namespace std;
long long int max(long long int a, long long int b) {
  if (a > b) return a;
  return b;
}
long long int min(long long int a, long long int b) {
  if (a < b) return a;
  return b;
}
long long int power(long long int n, long long int k) {
  if (k == 0) return 1;
  if (k == 1) return n;
  long long int res = power(n, k / 2);
  if (k % 2 == 0) return res * res;
  return res * res * n;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  string s;
  cin >> s;
  int n = s.length();
  for (int i = 0; i < n; i++) {
    if (s[i] == '0' || s[i] == '8') {
      cout << "YES" << endl;
      cout << s[i] << endl;
      return 0;
    }
  }
  for (int i = 0; i < n; i++) {
    int a = s[i] - '0';
    for (int j = i + 1; j < n; j++) {
      int k = a * 10 + s[j] - '0';
      if (k % 8 == 0) {
        cout << "YES" << endl;
        cout << s[i] << s[j];
        return 0;
      }
    }
  }
  for (int i = 0; i < n; i++) {
    int a = s[i] - '0';
    for (int j = i + 1; j < n; j++) {
      int b = a * 10 + s[j] - '0';
      for (int k = j + 1; k < n; k++) {
        int c = b * 10 + s[k] - '0';
        if (c % 8 == 0) {
          cout << "YES" << endl;
          cout << s[i] << s[j] << s[k] << endl;
          return 0;
        }
      }
    }
  }
  cout << "NO" << endl;
  return 0;
}
