#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
#define PB push_back
#define MP make_pair
const int NMAX = 1024;
const int MMAX = 10240;
const int INF = 0x3f3f3f3f;
int N, M;
vector <pair <int, int> > G[NMAX];
int C[NMAX][NMAX], F[NMAX][NMAX];
int Path[NMAX], NP;
int Y[MMAX];
void citire() {
FILE *fin = fopen("critice.in", "rt");
int a, b, c;
int i;
fscanf(fin, " %d %d", &N, &M);
for (i = 0; i < M; ++i) {
fscanf(fin, " %d %d %d", &a, &b, &c);
--a; --b;
G[a].PB( MP(b, i) ); G[b].PB( MP(a, i) );
C[a][b] = c; C[b][a] = c;
}
fclose(fin);
}
int bf() {
int Q[NMAX], NQ, T[NMAX];
bool V[NMAX];
int u, v, i, k;
vector < pair <int, int> > :: iterator j;
memset(V, 0, sizeof(V));
memset(T, 0xff, sizeof(T));
V[0] = true;
NQ = 1; Q[0] = 0;
for (i = 0; i < NQ; ++i) {
u = Q[i];
for (j = G[u].begin(); j != G[u].end(); ++j) {
v = j->first;
if (V[v] == false && C[u][v] > F[u][v]) {
T[v] = u;
V[v] = true;
Q[NQ++] = v;
if (v + 1 == N) {
NP = 0;
k = N - 1;
while (k != -1)
Path[NP++] = k,
k = T[k];
return 1;
}
}
}
}
return 0;
}
void flux_karp() {
int i, u, v;
int flow;
while ( bf() ) {
flow = INF;
for (v = Path[NP - 1], i = NP - 2; i >= 0; --i) {
u = v; v = Path[i];
flow <?= C[u][v] - F[u][v];
}
for (v = Path[NP - 1], i = NP - 2; i >= 0; --i) {
u = v; v = Path[i];
F[u][v] += flow;
F[v][u] -= flow;
}
}
}
void critice(int s, int mark) {
int Q[NMAX], NQ;
bool V[NMAX];
int i, u, v;
unsigned j;
memset(V, 0, sizeof(V));
V[s] = true; Q[0] = s; NQ = 1;
for (i = 0; i < NQ; ++i) {
u = Q[i];
for (j = 0; j < G[u].size(); ++j) {
v = G[u][j].first;
if (V[v] == false) {
if ((mark == 1 && C[u][v] == F[u][v]) ||
(mark == 2 && C[v][u] == F[v][u]))
Y[ G[u][j].second ] |= mark;
else
Q[NQ++] = v,
V[v] = true;
}
}
}
}
void afisare() {
FILE *fout = fopen("critice.out", "wt");
int i, num = 0;
for (i = 0; i < M; ++i)
if (Y[i] == 3)
++num;
fprintf(fout, "%d\n", num);
for (i = 0; i < M; ++i)
if (Y[i] == 3)
fprintf(fout, "%d\n", i + 1);
fclose(fout);
}
int main() {
citire();
flux_karp();
critice(0, 1);
critice(N - 1, 2);
afisare();
return 0;
}