#include<bits/stdc++.h>
using namespace std;
int n,m,w[24][24],dp[1<<20][24],ans,l,r,a;
int main(){
cin>>n>>m;
memset(dp,-1,sizeof(dp));
for(int i=0;i<n;i++){
cin>>l>>r>>a;
w[l][r]=a;
}
dp[1][0]=0;
for(int s=1;s<(1<<n);s++){
for(int j=0;j<n;j++){
if(dp[s][j]!=-1){
for(int v=0;v<n;v++){
if(!(s>>v&1) && w[j][v]!=0) dp[s+(1<<v)][v]=max(dp[s+(1<<v)][v],dp[s][j]+w[j][v]);
}
}
}
}
for(int s=1;s<(1<<n);s++) ans=max(dp[s][n-1],ans);
cout<<ans;
}