#include <bits/stdc++.h>
using namespace std;
int n, k, dp[402][402], opt[402][402][402], id[402][402];
vector<int> grafo[402];
void solve(int x, int p) {
  dp[x][0] = 1, dp[x][1] = 0;
  for (int i = 0; i < grafo[x].size(); i++) {
    int v = grafo[x][i];
    if (v == p) continue;
    solve(v, x);
    for (int q = k; q; q--) {
      int aux = 0x3f3f3f3f;
      for (int j = 0; j < q; j++) {
        if (aux > dp[x][q - j] + dp[v][j]) {
          aux = dp[x][q - j] + dp[v][j];
          opt[x][q][i] = j;
        }
      }
      dp[x][q] = aux;
    }
  }
}
void print(int x, int p, int k) {
  for (int i = grafo[x].size() - 1; i >= 0; i--) {
    int v = grafo[x][i];
    if (v == p) continue;
    if (!opt[x][k][i])
      cout << id[x][v] << " ";
    else
      print(v, x, opt[x][k][i]);
    k -= opt[x][k][i];
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> k;
  for (int i = 1, a, b; i < n; i++) {
    cin >> a >> b;
    grafo[a].push_back(b);
    grafo[b].push_back(a);
    id[a][b] = id[b][a] = i;
  }
  memset(dp, 0x3f3f3f3f, sizeof dp);
  solve(1, 1);
  int ans = dp[1][k], root = 1;
  for (int i = 1; i <= n; i++) {
    if (dp[i][k] + 1 < ans) {
      ans = dp[i][k] + 1;
      root = i;
    }
  }
  cout << ans << "\n";
  print(root, root, k);
}
