#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  string s;
  cin >> s;
  int l = s.length();
  char arr[l + 1];
  fill(arr, arr + l + 1, '0');
  vector<int> alpha(26, 0);
  for (int i = 0; i < l; i++) {
    alpha[s[i] - 'a']++;
  }
  int m = l / 2;
  int primes[l + 1];
  fill(primes, primes + l + 1, 1);
  for (int i = 2; i <= l; i++) {
    if (primes[i] == 1) {
      for (int j = i + i; j <= l; j += i) primes[j] = 0;
    }
  }
  int cs = 0;
  for (int i = 2; i <= l; i++) {
    if (primes[i] == 0)
      cs++;
    else if (i <= m)
      cs++;
  }
  int maxi = max_element(alpha.begin(), alpha.end()) - alpha.begin();
  if (alpha[maxi] < cs) {
    cout << "NO" << endl;
    return 0;
  }
  for (int i = 2; i <= l; i++) {
    if (primes[i] == 0)
      arr[i] = char(maxi + 'a');
    else if (i <= m)
      arr[i] = char(maxi + 'a');
  }
  alpha[maxi] -= cs;
  for (int i = 1; i <= l; i++) {
    if (arr[i] == '0') {
      int maxii = max_element(alpha.begin(), alpha.end()) - alpha.begin();
      if (alpha[maxii] < 1) {
        cout << "NO" << endl;
        return 0;
      }
      arr[i] = char(maxii + 'a');
      alpha[maxii]--;
    }
  }
  cout << "YES" << endl;
  for (int i = 1; i <= l; i++) cout << arr[i];
  return 0;
}
