Можно, конечно, дерево построить... Но это уж конечно крайний случай. Пока ничего лучше в голову не пришло.