https://romankurnovskii.com/en/tracks/algorithms-101/leetcode/easy/2932/