An undirected graph is called *k*-regular, if the degrees of all its vertices are equal *k*. An edge of a connected graph is called a bridge, if after removing it the graph is being split into two connected components.

Build a connected undirected *k*-regular graph containing at least one bridge, or else state that such graph doesn't exist.
The single line of the input contains integer *k* (1 ≤ *k* ≤ 100) — the required degree of the vertices of the regular graph.
n = int(input())
if n % 2 == 0:
    print("NO")
    exit(0)
print("YES")
kol_ver = n * 2 + 4
otv = [(1, n + 3)]
for i in range(4, n + 3):
    otv.append((1, i))
    otv.append((2, i))
    otv.append((3, i))
otv.append((2, 3))

for i in range(4, n + 3):
    for j in range(i + 2 - i % 2, n + 3):
        otv.append((i, j))

for i in otv[1:]:
    otv.append((i[0] + n + 3, i[1] + n + 3))

print(kol_ver, len(otv))
for i in otv:
    print(*i)
