brute-force algorithm