#include <bits/stdc++.h>
using namespace std;
void c_p_c() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
long long int n, m;
long long int dp[70][70][70][70];
long long int v[70][70];
long long int rec(long long int rem, long long int k, long long int row,
                  long long int col, long long int sum) {
  if (rem > m / 2) {
    return -1e9;
  }
  if (col == m) {
    return rec(0, k, row + 1, 0, sum);
  }
  if (row == n) {
    if (sum == 0) {
      return 0;
    }
    return -1e9;
  }
  if (dp[row][col][rem][sum] != -1) {
    return dp[row][col][rem][sum];
  }
  long long int res = -1e9;
  long long int x =
      rec(rem + 1, k, row, col + 1, (sum + v[row][col]) % k) + v[row][col];
  res = max(res, x);
  long long int y = rec(rem, k, row, col + 1, sum);
  res = max(res, y);
  return dp[row][col][rem][sum] = res;
}
int32_t main() {
  c_p_c();
  long long int k;
  cin >> n >> m >> k;
  for (long long int i = 0; i < n; i++) {
    for (long long int j = 0; j < m; j++) {
      cin >> v[i][j];
    }
  }
  memset(dp, -1, sizeof(dp));
  cout << rec(0, k, 0, 0, 0);
  return 0;
}
