#include <bits/stdc++.h>
struct node {
  int from, to, num;
} t[1005];
int main() {
  int n, a[1005], f, c, sum, arr, i, j, k, h;
  while (scanf("%d", &n) != EOF) {
    h = 0;
    sum = 0;
    for (i = 0; i < n; i++) {
      scanf("%d", &a[i]);
      sum += a[i];
    }
    arr = sum / n;
    f = 1;
    c = 0;
    for (i = 0; i < n; i++) {
      if (a[i] != arr) {
        c++;
        f = 0;
        for (j = i + 1; j < n; j++) {
          if (a[j] != arr) {
            c++;
            if (a[j] + a[i] == 2 * arr) {
              c -= 2;
              if (a[j] > a[i]) {
                t[h].from = i + 1;
                t[h].to = j + 1;
                t[h].num = arr - a[i];
              } else {
                t[h].from = j + 1;
                t[h].to = i + 1;
                t[h].num = arr - a[j];
              }
              h++;
              a[i] = a[j] = arr;
              break;
            }
          }
        }
        if (j == n) break;
      }
    }
    if (c == 0 && !f && h == 1)
      printf("%d ml. from cup #%d to cup #%d.\n", t[0].num, t[0].from, t[0].to);
    if (c == 0 && f) printf("Exemplary pages.\n");
    if (c || h > 1) printf("Unrecoverable configuration.\n");
  }
  return 0;
}
