/**
 * Sergey Kopeliovich (burunduk30@gmail.com)
 */

#include <bits/stdc++.h>

using namespace std;

bool f1(int x) {
	return x == 3;
}

typedef bool function_type(int);

bool do_smth(int x, function_type *func) {
	return func(x);
}

function<bool(int)> f2 = [](int x) {
	return x == 2;
};

bool do_smth(int x, function<bool(int)> func) {
	return func(x);
};

int main() {
	cout << do_smth(3, f1) << endl;
	cout << do_smth(2, f2) << endl;

	int n;
	cin >> n;
	vector<vector<int>> g(n);
	function<void(int, int)> dfs = [&](int v, int p) {
		for (int x : g[v])
			if (x != p)
				dfs(x, v);
	};
	dfs(0, -1);
}