* std::map here, but looking up a value there costs O(log(n)).
* For a vector, this costs O(1). We hence go with the vector.
*/
* std::map here, but looking up a value there costs O(log(n)).
* For a vector, this costs O(1). We hence go with the vector.
*/