Exhaustive search

Requirements: