#include <bits/stdc++.h>
using namespace std;
int f[26];
int isprime(int n) {
  if (n == 1) return 0;
  if (n == 2) return 1;
  for (int i = 2; i * i <= n; i++) {
    if (n % i == 0) return 0;
  }
  return 1;
}
int main() {
  string s;
  getline(cin, s);
  int len = (int)s.size();
  int maxf = 0;
  char maxch;
  for (int i = 0; i < len; i++) {
    f[s[i] - 'a']++;
  }
  for (int i = 0; i < 26; i++) {
    if (maxf < f[i]) {
      maxf = f[i];
      maxch = (char)(i + 'a');
    }
  }
  int num = 1;
  for (int p = len / 2 + 1; p <= len; p++) {
    num += isprime(p);
  }
  if (maxf < len - num) {
    puts("NO");
    return 0;
  } else {
    puts("YES");
    for (int i = 1; i <= len; i++) {
      if (i == 1 || isprime(i) && i * 2 > len) {
        int j;
        for (j = 0; j < 26; j++) {
          if (j + 'a' == maxch)
            continue;
          else if (f[j] == 0)
            continue;
          else {
            putchar(j + 'a');
            f[j]--;
            break;
          }
        }
        if (j == 26) {
          putchar(maxch);
          f[maxch - 'a']--;
        }
      } else {
        putchar(maxch);
        f[maxch - 'a']--;
      }
    }
    putchar('\n');
  }
  return 0;
}
