private void GetGroupInfo (int gid, out int first_mark_index, out int n_caps) { first_mark_index = -1; n_caps = 0; for (int m = groups [gid]; m >= 0; m = marks [m].Previous) { if (!marks [m].IsDefined) continue; if (first_mark_index < 0) first_mark_index = m; ++n_caps; } }