use unordered_map for parent array
use unordered_map for parent array