#include<bits/stdc++.h>
using namespace std;
int n , m;
int h = 0;
bool book[2005] = { 0 , 1};
long long ans = -1000000000000000;
struct node
{
int a;
int b;
int c;
};
node num[2005];
bool cmp ( node fn , node sn )
{
if ( fn.a > sn.a )
{
return fn.a > sn.a;
}
return sn.a > fn.a;
}
void dfs( long long sum , int k )
{
if ( k == n )
{
ans = max ( ans , sum );
return ;
}
if ( book[num[k].b] == 1 || h == 1 )
{
h = 1;
return ;
}
for ( int i = 1; i <= m; i++)
{
if ( num[i].a == k )
{
dfs( sum+num[i].c , num[i].b);
}
}
book[k] = 1;
}
int main()
{
cin >> n >> m;
for ( int i = 1; i <= m; i++ )
{
cin >> num[i].a >> num[i].b >> num[i].c;
}
sort ( num+1 , num+1+m , cmp );
dfs( 0 , 1);
if (h == 1)
{
cout << "inf";
}
else
{
cout << ans;
}
return 0;
}