#include<stdio.h>
#define INF 1000000
#define N 50001
#define M 605
int n,m,j,k,d,v[M][M],c[M][M],a[N],b[N],h,f[M][M],nr=0;
long i,e,y[N],t;
long ek(long y[N],int c[M][M],int f[M][M],int s,int d,int n,int m,long e,int v[M][M],int *nr)
{int i,lg,l[M],u,x,q[M],p,viz[M],o[M],col[M],ok;
long t=0;
do
{for(i=1;i<=n;i++)
{c[s][i]=1;
v[s][i]=0;}
for(i=n+1;i<=n+m;i++)
{c[i][d]=1;
v[i][d]=0;}
for(i=s;i<=d;i++)
{viz[i]=0;
o[i]=INF;
col[i]=0;}
o[s]=p=u=ok=0;
q[0]=s;
while(p<=u)
{x=q[p++];
for(i=1;i<=n+m+1;i++)
if(!col[i]&&f[x][i]<c[x][i]&&o[i]>o[x]+v[x][i])
{viz[i]=x;
col[i]=1;
q[++u]=i;
o[i]=o[x]+v[x][i];}
if(col[d])
col[d]=0;}
if(!viz[d])
return t;
t+=o[d];
l[0]=d;
lg=0;
while(l[lg]!=s)
{lg++;
l[lg]=viz[l[lg-1]];}
for(i=lg;i>0;i--)
{f[l[i]][l[i-1]]=1;
if(l[i]!=s&&l[i-1]!=d)
{for(j=1;j<=e;j++)
if(a[j]==l[i]&&b[j]+n==l[i-1])
y[++(*nr)]=j;}}}
while(1);}
int main()
{freopen("cmcm.in","r",stdin);
freopen("cmcm.out","w",stdout);
scanf("%d%d%ld\n",&n,&m,&e);
for(i=1;i<=n;i++)
for(j=n+1;j<=n+m;j++)
{f[i][j]=c[i][j]=0;
v[i][j]=INF;}
for(i=1;i<=e;i++)
{scanf("%d%d%d",&a[i],&b[i],&h);
c[a[i]][n+b[i]]=1;
v[a[i]][n+b[i]]=h;}
t=ek(y,c,f,0,n+m+1,n,m,e,v,&nr);
printf("%ld %ld\n",nr,t);
for(i=1;i<=nr;i++)
printf("%ld ",y[i]);
fclose(stdin);
fclose(stdout);
return 0;}