#include main() { int n, r, t, d[64][64], ct, inter[64], x, ok, time, longest; while(true){ scanf("%d", &n); if(n == 0) return 0; scanf("%d%d", &r, &t); for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) scanf("%d", &d[i][j]); longest = -99999; for(int i = 1; i <= n; i++) for(int j = i + 1; j <= n; j++){ ct = 0; for(int k = 1; k <= n; k++){ if(k == i || k == j) continue; x = (d[i][j] + d[i][k] - d[j][k]) / 2; ok = 1; for(int m = 1; m <= ct; m++) if(x == inter[m]) ok = 0; if(ok == 1){ ct++; inter[ct] = x; } } time = d[i][j] * r + ct * t; /*printf("%d %d %d %d\n", i, j, ct, time);*/ if(time > longest) longest = time; } printf("%d\n", longest); } }