






from collections import defaultdict






def     _snake_case    (__lowercase):
			UpperCamelCase_									=     1
			UpperCamelCase_									=     True
			for v in tree[start]:
						if v not in visited:
									ret += dfs(__lowercase)
			if ret % 2 == 0:
						cuts.append(__lowercase)
			return ret






def     _snake_case    ():
			dfs(1)


if __name__ == "__main__":
	snake_case__	,			snake_case__      :	Union[str, Any]       	=      1_0, 9
	snake_case__      :	str       	=      defaultdict(list)
	snake_case__      :	List[Any]       	=      {}
	snake_case__      :	Union[str, Any]       	=      []
	snake_case__      :	Tuple       	=      0
	snake_case__      :	Dict       	=      [(2, 1), (3, 1), (4, 3), (5, 2), (6, 1), (7, 2), (8, 6), (9, 8), (1_0, 8)]
	for u, v in edges:
		tree[u].append(v)
		tree[v].append(u)
	even_tree()
	print(len(cuts) - 1)













def     _snake_case    (__lowercase = 1000):
   UpperCamelCase_		,      UpperCamelCase_									=     1, 1
   UpperCamelCase_									=     2
   while True:
      UpperCamelCase_									=     0
      UpperCamelCase_									=     fa + fa
      UpperCamelCase_		,      UpperCamelCase_									=     fa, f
      index += 1
      for _ in str(__lowercase):
         i += 1
      if i == n:
         break
   return index


if __name__ == "__main__":
 print(solution(int(str(input()).strip())))





