#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007;
const long double PI = 3.14159265;
long long int powerWithMod(long long int base, long long int exponent,
                           long long int modulus = LLONG_MAX) {
  long long int result = 1;
  base %= modulus;
  while (exponent > 0) {
    if (exponent % 2 == 1) result = (result * base) % modulus;
    exponent >>= 1;
    base = (base * base) % modulus;
  }
  return result;
}
long long int gcdExtended(long long int a, long long int b, long long int *x,
                          long long int *y) {
  cout << a << " " << b << " " << *x << " " << *y << "\n";
  if (a == 0) {
    *x = 0, *y = 1;
    return b;
  }
  long long int x1, y1;
  long long int gcd = gcdExtended(b % a, a, &x1, &y1);
  *x = y1 - (b / a) * x1;
  *y = x1;
  cout << "AFTER " << a << " " << b << " " << *x << " " << *y << "\n";
  return gcd;
}
long long int MODInverse(long long int a, long long int m) {
  long long int x, y;
  long long int g = gcdExtended(a, m, &x, &y);
  cout << g << " " << x << " " << y << "\n";
  long long int ans = (x % m + m) % m;
  return ans;
}
using namespace std;
string a;
set<int> primes;
char ans[1234], m;
unordered_map<char, int> freq;
void init(int n) {
  bool flag;
  primes.insert(2);
  for (int i = 3; i <= n; i += 2) {
    flag = true;
    for (int x : primes) {
      if (i % x == 0) {
        flag = false;
        break;
      }
    }
    if (flag) primes.insert(i);
  }
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> a;
  if (a.size() < 4) {
    cout << "YES\n" << a << "\n";
    return 0;
  }
  init(a.size());
  m = a[0];
  for (char x : a) {
    freq[x]++;
    if (freq[x] > freq[m]) m = x;
  }
  ans[1] = 0;
  for (int i = 2; i <= a.size(); i++) {
    if (2 * i <= a.size() || primes.find(i) == primes.end()) {
      freq[m]--;
      ans[i] = m;
    } else
      ans[i] = 0;
  }
  if (freq[m] < 0) {
    cout << "NO\n";
    return 0;
  }
  for (int i = 1; i <= a.size(); i++) {
    if (ans[i] == 0) {
      for (auto x : freq) {
        if (x.second > 0) {
          freq[x.first]--;
          ans[i] = x.first;
          break;
        }
      }
    }
  }
  cout << "YES\n";
  for (int i = 1; i <= a.size(); i++) cout << ans[i];
  cout << "\n";
  return 0;
}
