#include #include #include #include #include #include #include #include #include #include #include #include #include #pragma warning(disable:4996) typedef long long ll; #define MIN(a, b) ((a)>(b)? (b): (a)) #define MAX(a, b) ((a)<(b)? (b): (a)) #define LINF 9223300000000000000 #define INF 2140000000 const long long MOD = 1000000007; using namespace std; ll dp[1<<16][16]; int main(int argc, char* argv[]) { int n,m; scanf("%d%d", &n, &m); int g[16][16]={0}; int i,j; for(i=0; i<16; i++) { for(j=0; j<16; j++) { g[i][j]=INF; } } for(i=0; i=0 && g[j][k]!=INF) { dp[i][k] = MAX(dp[i][k], dp[prev][j] + g[j][k]); } } } } } } ll ans=0; for(i=1; i<(1<=0) { ans = MAX(ans, dp[i][k]); } } } printf("%lld\n", ans); return 0; }