#include <bits/stdc++.h>
using namespace std;
long long h12, h13, h14, h23, h24, h34;
long long k1, k2, k3;
long long x1, x2, x3, x4, x5, x6, x7;
long long min_x7, max_x7, best_x7;
long long good = 0;
long long len = -1;
void fail() {
  printf("-1\n");
  exit(0);
}
int main() {
  cin >> h12 >> h13 >> h14 >> h23 >> h24 >> h34;
  if ((h12 + h13 + h23) % 2 != 0) fail();
  k1 = (h12 + h13 - h23) / 2;
  k2 = (h12 + h23 - h13) / 2;
  k3 = (h13 + h23 - h12) / 2;
  if (k1 < 0 || k2 < 0 || k3 < 0) fail();
  if ((h14 + h34 - k1 - k3) % 2 != 0) fail();
  max_x7 = (h14 + h34 - k1 - k3) / 2;
  if ((k2 + k3 - h24 - h34) % 2 != 0) fail();
  min_x7 = -k1 - (k2 + k3 - h24 - h34) / 2;
  max_x7 = min(max_x7, -(k2 + k3 - h24 - h34) / 2);
  min_x7 = max(min_x7, (h14 + h34 - k1 - k3) / 2 - k2);
  if ((h14 + h24 - k1 - k2) % 2 != 0) fail();
  max_x7 = min(max_x7, (h14 + h24 - k1 - k2) / 2);
  min_x7 = max(min_x7, (h14 + h24 - k1 - k2) / 2 - k3);
  if (min_x7 > max_x7) fail();
  for (int i = (max(0ll, min_x7)); i < (int)(min(1000000ll, max_x7 + 1)); ++i) {
    x7 = i;
    x3 = (h14 + h34 - k1 - k3) / 2 - x7;
    x1 = k1 + x7 + (k2 + k3 - h24 - h34) / 2;
    x5 = k1 - x1 + x3 + k3 + x7 - h34;
    x6 = k3 - x5;
    x4 = k2 - x3;
    x2 = k1 - x1;
    if (x1 < 0 || x2 < 0 || x3 < 0 || x4 < 0 || x5 < 0 || x6 < 0 || x7 < 0)
      continue;
    good = 1;
    if (len == -1 || len > x1 + x2 + x3 + x4 + x5 + x6 + x7) {
      len = x1 + x2 + x3 + x4 + x5 + x6 + x7;
      best_x7 = x7;
    }
  }
  if (!good) fail();
  x7 = best_x7;
  x3 = (h14 + h34 - k1 - k3) / 2 - x7;
  x1 = k1 + x7 + (k2 + k3 - h24 - h34) / 2;
  x5 = k1 - x1 + x3 + k3 + x7 - h34;
  x6 = k3 - x5;
  x4 = k2 - x3;
  x2 = k1 - x1;
  cout << x1 + x2 + x3 + x4 + x5 + x6 + x7 << '\n';
  for (int(i) = 0; (i) < (int)(x1 + x2 + x3 + x4 + x5 + x6 + x7); ++(i))
    printf("a");
  printf("\n");
  for (int(i) = 0; (i) < (int)(x1 + x2 + x3 + x4); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x5 + x6 + x7); ++(i)) printf("a");
  printf("\n");
  for (int(i) = 0; (i) < (int)(x1 + x2); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x3 + x4); ++(i)) printf("a");
  for (int(i) = 0; (i) < (int)(x5 + x6); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x7); ++(i)) printf("a");
  printf("\n");
  for (int(i) = 0; (i) < (int)(x1); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x2); ++(i)) printf("a");
  for (int(i) = 0; (i) < (int)(x3); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x4); ++(i)) printf("a");
  for (int(i) = 0; (i) < (int)(x5); ++(i)) printf("b");
  for (int(i) = 0; (i) < (int)(x6); ++(i)) printf("a");
  for (int(i) = 0; (i) < (int)(x7); ++(i)) printf("b");
  printf("\n");
  return 0;
}
