#include<bits/stdc++.h>
#define ll long long
#define INF 1000000007
#define EPS 0.000001
#define f first
#define s second
#define in(n) scanf("%lld", &n)
#define ina(arr,n) for(ll x = 0; x < n; x++) in(arr[x]);
#define loop(i,n) for(ll i=0;i<n;i++)
#define leep(i,n) for(ll i=1;i<=n;i++)
using namespace std;
vector <ll>vec[112345];
ll dp[112345];
void dfs(ll node,ll parent){
for(auto x:vec[node]){
if(x!=parent){
dfs(x,node);
dp[node]+=dp[x];
}
}
dp[node]++;
}
int main(){
ll node,edge;
cin>>node;
edge=node-1;
loop(i,(node-1)){
ll x,y;
in(x);
in(y);
vec[x].push_back(y);
vec[y].push_back(x);
}
ll leaf=0;
for(ll i=1;i<=node;i++){
if(vec[i].size()==1){
leaf=i;
break;
}
}
dfs(1,-1);
ll ans=0;
for(ll i=1;i<=node;i++){
if(!(dp[i]&1)&&(vec[i].size()!=1)){
ans++;
}
}
if(node%2==0)
cout<<ans<<endl;
else
cout<<-1<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBJTkYgMTAwMDAwMDAwNwojZGVmaW5lIEVQUyAwLjAwMDAwMQojZGVmaW5lIGYgZmlyc3QKI2RlZmluZSBzIHNlY29uZAojZGVmaW5lIGluKG4pIHNjYW5mKCIlbGxkIiwgJm4pCiNkZWZpbmUgaW5hKGFycixuKSBmb3IobGwgeCA9IDA7IHggPCBuOyB4KyspIGluKGFyclt4XSk7CiNkZWZpbmUgbG9vcChpLG4pIGZvcihsbCBpPTA7aTxuO2krKykKI2RlZmluZSBsZWVwKGksbikgZm9yKGxsIGk9MTtpPD1uO2krKykKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAp2ZWN0b3IgPGxsPnZlY1sxMTIzNDVdOwpsbCBkcFsxMTIzNDVdOwogCnZvaWQgZGZzKGxsIG5vZGUsbGwgcGFyZW50KXsKICAgIGZvcihhdXRvIHg6dmVjW25vZGVdKXsKICAgICAgICBpZih4IT1wYXJlbnQpewogICAgICAgICAgICBkZnMoeCxub2RlKTsKICAgICAgICAgICAgZHBbbm9kZV0rPWRwW3hdOwogICAgICAgIH0KICAgIH0KICAgIGRwW25vZGVdKys7Cn0KIAppbnQgbWFpbigpewogICAgbGwgbm9kZSxlZGdlOwogICAgY2luPj5ub2RlOwogICAgZWRnZT1ub2RlLTE7CiAgICBsb29wKGksKG5vZGUtMSkpewogICAgICAgIGxsIHgseTsKICAgICAgICBpbih4KTsKICAgICAgICBpbih5KTsKICAgICAgICB2ZWNbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIHZlY1t5XS5wdXNoX2JhY2soeCk7CiAgICB9CiAgICBsbCBsZWFmPTA7CiAgICBmb3IobGwgaT0xO2k8PW5vZGU7aSsrKXsKICAgICAgICBpZih2ZWNbaV0uc2l6ZSgpPT0xKXsKICAgICAgICAgICAgbGVhZj1pOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgICBkZnMoMSwtMSk7CiAgICBsbCBhbnM9MDsKICAgIGZvcihsbCBpPTE7aTw9bm9kZTtpKyspewogICAgICAgIGlmKCEoZHBbaV0mMSkmJih2ZWNbaV0uc2l6ZSgpIT0xKSl7CiAgICAgICAgICAgIGFucysrOwogICAgICAgIH0KICAgIH0KICAgIGlmKG5vZGUlMj09MCkKICAgICAgICBjb3V0PDxhbnM8PGVuZGw7CiAgICBlbHNlCiAgICAgICAgY291dDw8LTE8PGVuZGw7CiAgICByZXR1cm4gMDsKfQ==