#include <bits/stdc++.h>
using namespace std;
char s[1005], r[1005];
int l, cnt[26];
bool u[1005], p[1005];
int main() {
  int i, j;
  p[1] = true;
  for (i = 2; i < 1001; i++)
    if (!p[i])
      for (j = i * i; j < 1001; j += i) p[j] = true;
  scanf("%s", s);
  l = strlen(s);
  for (i = 0; i < l; i++) {
    cnt[s[i] - 'a']++;
  }
  int all = 0, t = 0, id;
  for (i = 0; i < 26; i++)
    if (t < cnt[i]) {
      t = cnt[i];
      id = i;
    }
  for (i = 1; i <= l / 2; i++)
    if (!p[i]) {
      all += l / i;
    }
  memset(u, false, sizeof(u));
  for (i = 1; i <= l / 2; i++)
    if (!p[i]) {
      for (j = i; j <= l; j += i)
        if (!u[j]) {
          r[j - 1] = 'a' + id;
          u[j] = true;
          cnt[id]--;
        }
    }
  if (cnt[id] < 0) {
    puts("NO");
    return 0;
  }
  puts("YES");
  for (i = 1; i <= l; i++)
    if (!u[i]) {
      for (j = 0; j < 26; j++)
        if (cnt[j]) {
          cnt[j]--;
          r[i - 1] = 'a' + j;
          break;
        }
    }
  r[l] = '\0';
  puts(r);
  return 0;
}
