Binary matching
You are given two binary trees and your task is to find their largest rooted isomorphic subtrees.
Two trees are called isomorphic if one of them can be obtained from other by a series of flips, i.e. by swapping left and right children of a number of nodes.
Subtree is a tree that was obtained from the original one by continuously deleting some, possibly zero, leaf nodes.
Input
The first line contains the only positive integer n (1 ≤ n ≤ 1000) - number of nodes.
Each of the following (n - 1) lines contains a description of the tree edges, represented as two positive integers u, v (1 ≤ u, v ≤ 1000) Then follows a description of the second tree in the same format.
In both trees node with index 1 is a root node.
Output
Output a single positive integer - number of vertices in the larges rooted isomorphic subtree of given trees.