3. Consider the following C# code for searching a BST:
class Node {
public int val;
public Node left, right;
public Node(int v) { val = v; left = right = null; }
}
bool Search(Node root, int key) {
if (root == null) return false;
if (root.val == key) return true;
if (key < root.val) return Search(root.left, key);
else return Search(root.right, key);
}
// BST structure:
// 10
// / \
// 5 15
// / / \
// 2 12 20
Node root = new Node(10);
root.left = new Node(5);
root.right = new Node(15);
root.left.left = new Node(2);
root.right.left = new Node(12);
root.right.right = new Node(20);
Console.WriteLine(Search(root, 12));
Console.WriteLine(Search(root, 7));
What is the output?