public IList<int> GetSolution()
{
var chest = new Chest(0, this.keys.Keys.ToList());
chest.Open();
this.chests.Insert(0, chest);
var count = this.chests.Count;
var result = new int[count];
int pos = 1;
if (GetSolution(count, pos, result))
return result;
return null;
}