#include <bits/stdc++.h>
using namespace std;
int n;
char a[1010];
int num[30];
int t[30];
int main() {
  while (~scanf("%s", a)) {
    scanf("%d", &n);
    memset(num, 0, sizeof(num));
    for (int i = 0; a[i]; i++) num[a[i] - 'a']++;
    int cnt = 0;
    for (int i = 0; i < 26; i++)
      if (num[i]) cnt++;
    if (cnt > n) {
      puts("-1");
      continue;
    }
    for (int i = 1;; i++) {
      for (int j = 0; j < 26; j++) {
        t[j] = num[j] / i + (num[j] % i != 0);
      }
      int s = 0;
      for (int j = 0; j < 26; j++) s += t[j];
      if (s <= n) {
        printf("%d\n", i);
        for (int j = 0; j < 26; j++)
          for (int k = 0; k < t[j]; k++) printf("%c", 'a' + j);
        for (int j = 1; j <= n - s; j++) printf("%c", 'a');
        puts("");
        break;
      }
    }
  }
}
