include
include
include
include
include
include
include
include
using namespace std;
define vec vector
define str string
define int long long
define pr_qu priority_queue
define que queue
define deq deque
define inf 1e18
define pii pair<long long, long long>
signed main() { int n, m, k; cin >> n >> m >> k;
vec<vec<pii>> g(n);
for (int i = 0; i < m; ++i)
{
int u, v, w;
cin >> u >> v >> w;
g[u - 1].push_back({v - 1, w});
}
if (k == 0)
{
cout << 0 << '\n';
return 0;
}
vec<int> dpp(n, 0);
vec<int> dpc(n, inf);
for (int i = 1; i <= k; ++i)
{
dpc = vector<int>(n, inf);
for (int j = 0; j < n; ++j)
{
if (dpp[j] == inf)
continue;
for (auto& [v, w] : g[j])
{
if (dpp[j] + w < dpc[v])
dpc[v] = dpp[j] + w;
}
}
swap(dpp, dpc);
}
int ans = inf;
for (auto& i : dpp)
if (i < ans)
ans = i;
if (ans == inf)
cout << "IMPOSSIBLe\n";
else
cout << ans << '\n';}








