func_code_string: #include <bits/stdc++.h>   int n, m, r;   int mat[61][61], opt[61][61][61];   int main() {     scanf( %d%d%d , &n, &m, &r);     for (int i = (0); i < (n); i++)       for (int j = (0); j < (n); j++)         for (int k = (0); k < (n); k++) opt[i][j][k] = 1000000000;     for (int k = (0); k < (m); k++) {       for (int i = (0); i < (n); i++)         for (int j = (0); j < (n); j++) scanf( %d , &mat[i][j]);       for (int k = (0); k < (n); k++)         for (int i = (0); i < (n); i++)           for (int j = (0); j < (n); j++)             mat[i][j] = (((mat[i][j]) < (mat[i][k] + mat[k][j]))                              ? (mat[i][j])                              : (mat[i][k] + mat[k][j]));       for (int i = (0); i < (n); i++)         for (int j = (0); j < (n); j++)           opt[i][j][0] =               (((opt[i][j][0]) < (mat[i][j])) ? (opt[i][j][0]) : (mat[i][j]));     }     for (int p = (1); p < (n); p++)       for (int i = (0); i < (n); i++)         for (int j = (0); j < (n); j++)           for (int k = (0); k < (n); k++)             opt[i][j][p] = (((opt[i][j][p]) < (opt[i][k][p - 1] + opt[k][j][0]))                                 ? (opt[i][j][p])                                 : (opt[i][k][p - 1] + opt[k][j][0]));     while (r--) {       int u, v, k;       scanf( %d%d%d , &u, &v, &k);       printf( %d n , opt[u - 1][v - 1][(((k) < (n - 1)) ? (k) : (n - 1))]);     }     return 0;   }   