For this Question: As they were totally exhausted with the daily chores, Ketani and Nilswap decided to play a game.They get alternate turns in the game and Ketani starts the game. The game consists of a tree containing N nodes numbered 1 to N. On each turn the person chooses a node of the tree that is not yet numbered. If it's Ketani's turn, he writes an odd number to this node whereas if it's Nilswap's turn, he writes an even number to this node.
After the entire tree has been numbered, all the odd numbered nodes that are adjacent to an even numbered node turn even (instantaneous, no propagation).
If the tree contains any odd number in the end, Ketani wins otherwise Nilswap wins. You need to output the name of the winner.

Note: Initially none of the nodes contains a number. Both players play optimally.The first line of the input contains an integer N, the number of nodes in the tree.
The next N-1 lines contain two integers u, v indicating there is an edge between u and v.

Constraints
2 <= N <= 100000
1 <= u, v <= 100000
u != v

The given edges form a tree.Output a single string, the winner of the game.Sample Input 1
3
1 2
2 3

Sample Output 1
Ketani

Sample Input 2
2
1 2

Sample Output 2
Nilswap

Explanation 1: 
-> Ketani writes an odd number to node 2.
-> Nilswap writes an even number to node 3.
-> Ketani writes an odd number to node 1.
-> After this, node 2 converts to an even number. But node 1 is still white. So Ketani wins., I have written this Solution Code: #include <bits/stdc++.h>
using namespace std;
#define sd(x) scanf("%d", &x)
#define sz(v) (int) v.size()
#define pr(v) For(i, 0, sz(v)) {cout<<v[i]<<" ";} cout<<endl;
#define slld(x) scanf("%lld", &x)
#define all(x) x.begin(), x.end()
#define For(i, st, en) for(ll i=st; i<en; i++)
#define tr(x) for(auto it=x.begin(); it!=x.end(); it++)
#define fast std::ios::sync_with_stdio(false);cin.tie(NULL);
#define pb push_back
#define ll long long
#define int long long
#define mp make_pair
#define F first
#define S second
typedef pair<int, int> pii;
typedef vector<int> vi;
#define MOD 1000000007
#define INF 1000000000000000007LL

const int N = 100005;
 
// it's swapnil07 ;)

#ifdef SWAPNIL07
#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1){
    cout << name << " : " << arg1 << endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args){
    const char* comma = strchr(names + 1, ',');cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...);
}
int begtime = clock();
#define end_routine() cout << "\n\nTime elapsed: " << (clock() - begtime)*1000/CLOCKS_PER_SEC << " ms\n\n";
#else
#define endl '\n'
#define trace(...)
#define end_routine()
#endif
 
vector<int> adj[N];
bool ans;
 
bool dfs(int u, int par = 0) {
    int cnt = 0;
	for (auto v: adj[u])
		if (v != par)
			cnt += dfs(v, u);
	if (cnt >= 2) {
		ans = true;
		return false;
	}
	return 1 - cnt;
}
 
signed main(){
	#ifdef SWAPNIL07
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
	fast
	int n; cin >> n;
	for (int i = 1; i < n; i++) {
	    int v, u;
		cin >> v >> u;
		adj[v].pb(u);
		adj[u].pb(v);;
	}
	ans |= dfs(1);
	if(ans){
		cout<<"Ketani";
	}
	else{
		cout<<"Nilswap";
	}
	return 0;
}

, In this Programming Language: C++, Now tell me if this Code is compilable or not?