#include <bits/stdc++.h>
using namespace std;
const int MaxN = 1005;
int cnt[30], n;
char s[MaxN];
bool bio[MaxN];
void add(int p) {
  for (int i = p; i <= n; i += p) bio[i] = true;
}
int main() {
  scanf("%s", s + 1);
  n = strlen(s + 1);
  if (n <= 2) {
    puts("YES");
    puts(s + 1);
    return 0;
  }
  for (int i = 1; i <= n; i++) cnt[s[i] - 'a']++;
  add(2);
  for (int i = 3; i <= n; i++)
    if (2 * i <= n) add(i);
  int bigset = count(bio + 1, bio + n + 1, true);
  int c = max_element(cnt, cnt + 30) - cnt;
  if (bigset > cnt[c]) {
    puts("NO");
    return 0;
  }
  for (int i = 1; i <= n; i++)
    if (bio[i]) {
      s[i] = (char)(c + 'a');
      cnt[c]--;
    }
  for (int i = 1; i <= n; i++)
    if (!bio[i]) {
      c = max_element(cnt, cnt + 30) - cnt;
      s[i] = (char)(c + 'a');
      cnt[c]--;
    }
  puts("YES");
  puts(s + 1);
  return 0;
}
