#include <bits/stdc++.h>
using namespace std;
int n, k;
vector<pair<int, int> > AdjList[401];
vector<pair<int, int> > z[401];
int par[401];
int f[401][401];
int g[401][401][401];
int ans = 1e9;
void dfs(int u, int p) {
  par[u] = p;
  for (int i = 0; i < AdjList[u].size(); i++) {
    int v = AdjList[u][i].first;
    int id = AdjList[u][i].second;
    if (v != p) z[u].push_back(pair<int, int>(v, id));
  }
  g[u][0][1] = 0;
  for (int i = 0; i < z[u].size(); i++) {
    int v = z[u][i].first;
    dfs(v, u);
    for (int x = 400; x >= 1; x--)
      for (int y = 0; y <= 400; y++)
        if (x - y >= 0)
          g[u][i + 1][x] =
              min(g[u][i + 1][x], g[u][i][x - y] + g[v][z[v].size()][y]);
  }
  g[u][z[u].size()][0] = 1;
  if (p != -1)
    ans = min(ans, g[u][z[u].size()][k] + 1);
  else
    ans = min(ans, g[u][z[u].size()][k]);
  return;
}
vector<int> res;
void dfs2(int u, int p, int val) {
  if (!val) return;
  for (int i = z[u].size() - 1; i >= 0; i--) {
    int v = z[u][i].first;
    int id = z[u][i].second;
    if (g[u][i][val] + 1 == g[u][i + 1][val])
      res.push_back(id);
    else {
      for (int j = 1; j <= 400; j++)
        if (val - j >= 0)
          if (g[u][i][val - j] + g[v][z[v].size()][j] == g[u][i + 1][val]) {
            val -= j;
            dfs2(v, u, j);
            break;
          }
    }
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  for (int i = 1; i <= n - 1; i++) {
    int u, v;
    cin >> u >> v;
    AdjList[u].push_back(pair<int, int>(v, i));
    AdjList[v].push_back(pair<int, int>(u, i));
  }
  for (int i = 0; i <= 400; i++)
    for (int j = 0; j <= 400; j++) {
      f[i][j] = 1e9;
      for (int x = 0; x <= 400; x++) g[i][j][x] = 1e9;
    }
  dfs(1, -1);
  for (int i = 1; i <= n; i++) {
    int cur = g[i][z[i].size()][k];
    if (par[i] != -1) cur++;
    if (cur == ans) {
      if (par[i] != -1) {
        for (int j = 0; j < z[par[i]].size(); j++) {
          int x = z[par[i]][j].first;
          int id = z[par[i]][j].second;
          if (x == i) {
            res.push_back(id);
            break;
          }
        }
      }
      dfs2(i, par[i], k);
      break;
    }
  }
  cout << res.size() << '\n';
  for (int i = 0; i < res.size(); i++) cout << res[i] << ' ';
}
