Complete naive implementation