public ICollection<int> this[int x] { get { if (x >= row_list.Count) for (int i = row_list.Count; i <= x; i++) row_list.Add(new HashSet<int>()); return row_list[x]; } }