abstract class PuzzleCollection { public abstract string Count{ get; } public abstract Puzzle this[int i]{ get; } public abstract void Add(Puzzle p); }