1 #include<bits/stdc++.h>
2 #define _for(i,a,b) for(register int i = (a);i < b;i ++)
3 #define _rep(i,a,b) for(register int i = (a);i > b;i --)
4 #define INF 0x3f3f3f3f
5 #define MOD 100000000
6 #define maxn 100003
7 #define pb push_back
8 #define debug() printf("Miku Check OK!\n")
9 typedef long long ll;
10
11 using namespace std;
12 typedef pair<int,int> P;
13 inline ll read()
14 {
15 ll ans = 0;
16 char ch = getchar(), last = ' ';
17 while(!isdigit(ch)) last = ch, ch = getchar();
18 while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
19 if(last == '-') ans = -ans;
20 return ans;
21 }
22 inline void write(ll x)
23 {
24 if(x < 0) x = -x, putchar('-');
25 if(x >= 10) write(x / 10);
26 putchar(x % 10 + '0');
27 }
28 int ver[maxn],Next[maxn],head[maxn],val[maxn],cost[maxn];
29 //incf[i]为i在此趟BFS流过的流量
30 int vis[maxn],incf[maxn],pre[maxn];
31 int n,m,s,t,tot,maxflow,ans;
32 int d[maxn];
33 void add(int x,int y,int w,int c)
34 {
35 ver[++tot] = y,Next[tot] = head[x],head[x] = tot,val[tot] = w,cost[tot] = c;
36 ver[++tot] = x,Next[tot] = head[y],head[y] = tot,val[tot] = 0,cost[tot] = -c;
37 }
38 bool spfa()
39 {
40 memset(vis,0,sizeof(vis));
41 memset(d,0x3f,sizeof(d));
42 queue<int> q;
43 q.push(s);
44 vis[s] = 1;
45 d[s] = 0;
46 incf[s] = INF;
47 while(!q.empty())
48 {
49 int x = q.front();
50 q.pop();
51 vis[x] = 0;
52 for(int i = head[x]; i; i = Next[i])
53 if(val[i])
54 {
55 int y = ver[i];
56 if(d[y] > d[x] + cost[i])
57 {
58 d[y] = d[x] + cost[i];
59 incf[y] = min(incf[x],val[i]);
60 pre[y] = i;
61 if(!vis[y])
62 vis[y] = 1,q.push(y);
63 }
64 }
65 }
66 if(d[t]==INF)
67 return false;
68 return true;
69 }
70 void update()
71 {
72 int x = t;
73 while(x != s)
74 {
75 int i = pre[x];
76 val[i] -= incf[t];
77 val[i^1] += incf[t];
78 x = ver[i^1];
79 }
80 maxflow += incf[t];
81 ans += d[t] * incf[t];
82 }
83 int main()
84 {
85 n = read();
86 m = read();
87 s = 1;
88 t = n+n;
89 tot = 1;
90 maxflow = 0;
91 add(1,1+n,INF,0);
92 add(n,n+n,INF,0);
93 _for(i,2,n)
94 add(i,i+n,1,0);
95 _for(i,1,m+1)
96 {
97 int x = read();
98 int y = read();
99 int c = read();
100 add(x+n,y,1,c);
101 }
102 while(spfa()) update();
103 printf("%d %d",maxflow,ans);
104 return 0;
105 }