#include <bits/stdc++.h>
using namespace std;
vector<int> val[401][401];
vector<pair<int, int> > adj[401];
int dp[401][401], par_ind[401];
int n, target;
int dfs(int src, int par) {
  if (adj[src].size() == 1 && par != 0) {
    dp[src][1] = 0;
    return 1;
  }
  int subtree = 0, child = 0;
  for (int j = 0; j < adj[src].size(); j++) {
    int cur = adj[src][j].first, ind = adj[src][j].second;
    if (cur == par) continue;
    child++;
    par_ind[cur] = ind;
    subtree += dfs(cur, src);
    dp[src][1] = child;
    val[src][1].push_back(ind);
    if (child == 1) {
      for (int j = 2; j < 401; j++)
        dp[src][j] = dp[cur][j - 1], val[src][j] = val[cur][j - 1];
      continue;
    }
    int arr[401];
    vector<int> vals[401];
    for (int j = 2; j < 401; j++) {
      arr[j] = dp[src][j], vals[j] = val[src][j];
      dp[src][j] = 10001;
      val[src][j].clear();
    }
    for (int k = 2; k < 401; k++) {
      if ((dp[cur][k - 1] + child - 1) < dp[src][k]) {
        dp[src][k] = dp[cur][k - 1] + child - 1;
        val[src][k] = val[cur][k - 1];
        for (int j = 0; j < val[src][1].size() - 1; j++)
          val[src][k].push_back(val[src][1][j]);
      }
      if ((arr[k] + 1) < dp[src][k]) {
        dp[src][k] = arr[k] + 1;
        val[src][k] = vals[k];
        val[src][k].push_back(ind);
      }
      for (int t = 1; t < k - 1; t++) {
        if ((dp[cur][t] + arr[k - t]) < dp[src][k]) {
          dp[src][k] = dp[cur][t] + arr[k - t];
          val[src][k] = val[cur][t];
          for (int j = 0; j < vals[k - t].size(); j++)
            val[src][k].push_back(vals[k - t][j]);
        }
      }
    }
  }
  dp[src][subtree + 1] = 0;
  val[src][subtree + 1].clear();
  return (subtree + 1);
}
int main() {
  memset(dp, 10001, sizeof(dp));
  cin >> n >> target;
  for (int j = 1; j < n; j++) {
    int u, v;
    cin >> u >> v;
    adj[u].push_back(make_pair(v, j));
    adj[v].push_back(make_pair(u, j));
  }
  dfs(1, 0);
  int ans = 100001, ind = -1;
  for (int j = 1; j <= n; j++) {
    if ((dp[j][target] + ((j != 1) ? 1 : 0)) < ans) {
      ans = dp[j][target] + ((j == 1) ? 0 : 1);
      ind = j;
    }
  }
  cout << ans << endl;
  for (int j = 0; j < val[ind][target].size(); j++)
    cout << val[ind][target][j] << " ";
  if (ind != 1)
    cout << par_ind[ind] << endl;
  else
    cout << endl;
  return 0;
}
