import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;


public class Question5 {

	static HashMap<Integer, ArrayList<Integer>> connect;
	
	public static void main(String[] args) throws Exception {
		BufferedWriter fileout = new BufferedWriter(new FileWriter("OUT5.txt"));
		Scanner scan = new Scanner(new FileReader("DATA5.txt"));
		while (scan.hasNextLine()) {
			int lines = Integer.valueOf(scan.nextLine());
			connect = new HashMap<Integer, ArrayList<Integer>>();
			for (int i = 0; i < lines; i++) {
				String[] read = scan.nextLine().split(" ");
				int low = Integer.valueOf(read[0]);
				int high = Integer.valueOf(read[1]);
				ArrayList<Integer> temp1 = connect.get(low);
				if (temp1 == null) {
					ArrayList<Integer> temp3 = new ArrayList<Integer>();
					temp3.add(high);
					connect.put(low, temp3);
				} else temp1.add(high);
				ArrayList<Integer> temp2 = connect.get(high);
				if (temp2 == null) {
					ArrayList<Integer> temp3 = new ArrayList<Integer>();
					temp3.add(low);
					connect.put(high, temp3);
				} else temp2.add(low);
			}
			int answer = -1;
			boolean disconnected = false;
			ArrayList<Integer> answers = new ArrayList<Integer>();
			skip1: for (Integer key : connect.keySet()) {
				if (!answers.contains(key)) answers.add(key);
				for (Integer key2 : connect.get(key)) {
					if (key == key2) {
						if (disconnected) continue skip1;
						else {
							answer += 2;
							disconnected = true;
						}
					} else if (!answers.contains(key2)) {
						for (Integer key3 : connect.get(key2)) {
							if (answers.contains(key3)) {
								answers.add(key2);
								answer++;
								break;
							}
						}
					}
				}
			}
			if (answer > 4) answer = 0;
			fileout.write(String.valueOf(answer));
			fileout.newLine();
		}
		fileout.close();
	}

}
