You are given a 1-D board of length L (0-indexed positions 0 … L-1). A set of watchers are placed at fixed positions; each watcher periodically reverses the direction it is facing. Your player starts at position 0 at time 0 and must reach position L-1. The player can only move right and can choose any non-negative speed (including zero) at any moment, but may never occupy a position that is currently watched. A watcher at position w facing left sees every position < w, and facing right sees every position > w. All watchers reverse direction simultaneously at the same list of given change_times (sorted, distinct, positive integers). The task is to decide whether any feasible speed schedule exists that lets the player arrive at L-1 without ever being seen, and if so, to return the earliest possible arrival time; otherwise return -1. Because the problem is set on an infinite time horizon you must exploit the fact that the configuration of directions becomes periodic after the last change_time.