#include <bits/stdc++.h>
using namespace std;
int main() {
  int x[4], y[4], mx, my, px, py, nr, nc, i, j, c, n;
  char a[101][101];
  while (scanf("%d%d%d%d%d%d", &x[1], &y[1], &x[2], &y[2], &x[3], &y[3]) !=
         EOF) {
    c = 1;
    mx = x[1];
    px = 1;
    for (i = 2; i <= 3; i++) {
      if (x[i] > mx) {
        mx = x[i];
        px = i;
      }
    }
    my = y[1];
    py = 1;
    for (i = 2; i <= 3; i++) {
      if (y[i] > my) {
        my = y[i];
        py = i;
      }
    }
    if (mx >= my) {
      n = mx;
      nr = mx;
      nc = mx;
      if (px == 1) {
        for (i = 1; i <= y[1]; i++) {
          for (j = 1; j <= mx; j++) {
            a[i][j] = 'A';
          }
        }
        nr = nr - y[1];
        if ((x[2] == nc || y[2] == nc) || (x[2] == nr || y[2] == nr)) {
          if (x[2] == nc || y[2] == nc) {
            if (x[2] == nc) {
              if (y[2] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + y[2]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + x[2]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - x[2];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[2] == nr) {
              if (y[2] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= y[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= x[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - x[2];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[3] == nc && y[3] == nr) || (x[3] == nr && y[3] == nc)) {
          for (i = mx - nr + 1; i <= mx; i++) {
            for (j = mx - nc + 1; j <= mx; j++) {
              a[i][j] = 'C';
            }
          }
        } else {
          c = 0;
        }
      } else if (px == 2) {
        for (i = 1; i <= y[2]; i++) {
          for (j = 1; j <= mx; j++) {
            a[i][j] = 'B';
          }
        }
        nr = nr - y[2];
        if ((x[1] == nc || y[1] == nc) || (x[1] == nr || y[1] == nr)) {
          if (x[1] == nc || y[1] == nc) {
            if (x[1] == nc) {
              if (y[1] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + y[1]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'A';
                  }
                }
                nr = nr - y[1];
              } else {
                c = 0;
              }
            } else {
              if (x[1] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + x[1]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'A';
                  }
                }
                nr = nr - x[1];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[1] == nr) {
              if (y[1] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= y[1]; j++) {
                    a[i][j] = 'A';
                  }
                }
                nc = nc - y[1];
              } else {
                c = 0;
              }
            } else {
              if (x[1] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= x[1]; j++) {
                    a[i][j] = 'A';
                  }
                }
                nc = nc - x[1];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[3] == nc && y[3] == nr) || (x[3] == nr && y[3] == nc)) {
          for (i = mx - nr + 1; i <= mx; i++) {
            for (j = mx - nc + 1; j <= mx; j++) {
              a[i][j] = 'C';
            }
          }
        } else {
          c = 0;
        }
      } else {
        for (i = 1; i <= y[3]; i++) {
          for (j = 1; j <= mx; j++) {
            a[i][j] = 'C';
          }
        }
        nr = nr - y[3];
        if ((x[2] == nc || y[2] == nc) || (x[2] == nr || y[2] == nr)) {
          if (x[2] == nc || y[2] == nc) {
            if (x[2] == nc) {
              if (y[2] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + y[2]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nr) {
                for (i = mx - nr + 1; i <= mx - nr + x[2]; i++) {
                  for (j = 1; j <= mx; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - x[2];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[2] == nr) {
              if (y[2] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= y[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nc) {
                for (i = mx - nr + 1; i <= mx; i++) {
                  for (j = 1; j <= x[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - x[2];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[1] == nc && y[1] == nr) || (x[1] == nr && y[1] == nc)) {
          for (i = mx - nr + 1; i <= mx; i++) {
            for (j = mx - nc + 1; j <= mx; j++) {
              a[i][j] = 'A';
            }
          }
        } else {
          c = 0;
        }
      }
    } else {
      n = my;
      nr = my;
      nc = my;
      if (py == 1) {
        for (i = 1; i <= x[1]; i++) {
          for (j = 1; j <= my; j++) {
            a[i][j] = 'A';
          }
        }
        nr = nr - x[1];
        if ((x[2] == nc || y[2] == nc) || (x[2] == nr || y[2] == nr)) {
          if (x[2] == nc || y[2] == nc) {
            if (x[2] == nc) {
              if (y[2] < nr) {
                for (i = my - nr + 1; i <= my - nr + y[2]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nr) {
                for (i = my - nr + 1; i <= my - nr + x[2]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - x[2];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[2] == nr) {
              if (y[2] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= y[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= x[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - x[2];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[3] == nc && y[3] == nr) || (x[3] == nr && y[3] == nc)) {
          for (i = my - nr + 1; i <= my; i++) {
            for (j = my - nc + 1; j <= my; j++) {
              a[i][j] = 'C';
            }
          }
        } else {
          c = 0;
        }
      } else if (py == 2) {
        for (i = 1; i <= x[2]; i++) {
          for (j = 1; j <= my; j++) {
            a[i][j] = 'B';
          }
        }
        nr = nr - x[2];
        if ((x[1] == nc || y[1] == nc) || (x[1] == nr || y[1] == nr)) {
          if (x[1] == nc || y[1] == nc) {
            if (x[1] == nc) {
              if (y[1] < nr) {
                for (i = my - nr + 1; i <= my - nr + y[1]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'A';
                  }
                }
                nr = nr - y[1];
              } else {
                c = 0;
              }
            } else {
              if (x[1] < nr) {
                for (i = my - nr + 1; i <= my - nr + x[1]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'A';
                  }
                }
                nr = nr - x[1];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[1] == nr) {
              if (y[1] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= y[1]; j++) {
                    a[i][j] = 'A';
                  }
                }
                nc = nc - y[1];
              } else {
                c = 0;
              }
            } else {
              if (x[1] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= x[1]; j++) {
                    a[i][j] = 'A';
                  }
                }
                nc = nc - x[1];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[3] == nc && y[3] == nr) || (x[3] == nr && y[3] == nc)) {
          for (i = my - nr + 1; i <= my; i++) {
            for (j = my - nc + 1; j <= my; j++) {
              a[i][j] = 'C';
            }
          }
        } else {
          c = 0;
        }
      } else {
        for (i = 1; i <= x[3]; i++) {
          for (j = 1; j <= my; j++) {
            a[i][j] = 'C';
          }
        }
        nr = nr - x[3];
        if ((x[2] == nc || y[2] == nc) || (x[2] == nr || y[2] == nr)) {
          if (x[2] == nc || y[2] == nc) {
            if (x[2] == nc) {
              if (y[2] < nr) {
                for (i = my - nr + 1; i <= my - nr + y[2]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nr) {
                for (i = my - nr + 1; i <= my - nr + x[2]; i++) {
                  for (j = 1; j <= my; j++) {
                    a[i][j] = 'B';
                  }
                }
                nr = nr - x[2];
              } else {
                c = 0;
              }
            }
          } else {
            if (x[2] == nr) {
              if (y[2] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= y[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - y[2];
              } else {
                c = 0;
              }
            } else {
              if (x[2] < nc) {
                for (i = my - nr + 1; i <= my; i++) {
                  for (j = 1; j <= x[2]; j++) {
                    a[i][j] = 'B';
                  }
                }
                nc = nc - x[2];
              } else {
                c = 0;
              }
            }
          }
        } else {
          c = 0;
        }
        if ((x[1] == nc && y[1] == nr) || (x[1] == nr && y[1] == nc)) {
          for (i = my - nr + 1; i <= my; i++) {
            for (j = my - nc + 1; j <= my; j++) {
              a[i][j] = 'A';
            }
          }
        } else {
          c = 0;
        }
      }
    }
    if (c == 0) {
      printf("-1\n");
    } else {
      printf("%d\n", n);
      for (i = 1; i <= n; i++) {
        for (j = 1; j <= n; j++) {
          printf("%c", a[i][j]);
        }
        printf("\n");
      }
    }
  }
  return 0;
}
