#include <stdio.h>
#include <stdlib.h>
int main()
{
	int n, i, j, r;
	scanf("%d", &n);
	int a[n - 1], b[n - 1];
	for(i = 0; i < n - 1; i++)
		scanf("%d %d", &a[i], &b[i]);
	if(n == 3 || n == 4)
		printf("1");
	else if(najR(a, b, n))
		printf("2");
	else
	{
		if(n % 2 == 0)
		{
			printf("%d", granice(a, b, n) - 1);
		}
		else
		{
			printf("%d", granice(a, b, n));
		}
	}
	return 0;
}
int najR(int a[], int b[], int n)
{
	int i, j, t;
	for(i = 1; i <= n ; i++)
	{
		t = 0;
		for(j = 0; j < n - 1; j++)
			if(a[j] == i || b[j] == i)
				t ++;
		if(t == n - 1)
			return 1;	
	}
	return 0;	
}
int granice(int a[], int b[], int n)
{
	int i, j, t, k = 1;
	for(i = 1; i <= n; i++)
	{
		t = -2;
		for(j = 0; j < n - 1; j++)
			if(a[j] == i || b[j] == i)
			{
				t ++;
			}
		if(t > 0)	
			k += t;
	}
	return n - k / 2 - 2;	
}