sargunv
data class Tree<V>( val value: V, val children: List<Tree<V>> = emptyList(), val parent: Tree<V>? = null ) { operator fun get(index: Int) = children[index] }