import sequtils,strutils,algorithm var N, M, a, b, c: int hyou : array[16, array[16, int]] s : int ans : int dp : array[16, array[16, array[(1 shl 16), int]]] (N, M) = stdin.readline.split.map(parseInt) var used : array[17, bool] for i in 0.. 0 and (B and (1 shl g)) > 0: for k in 0.. 0: continue var nb = ((1 shl k) or B) dp[s][k][nb] = max(dp[s][k][nb], dp[s][g][B] + hyou[g][k]) dp[k][g][nb] = max(dp[k][g][nb], dp[s][g][B] + hyou[k][s]) ans = max(dp[k][g][nb], ans) ans = max(dp[s][k][nb], ans) echo ans