Problem:
Card Game

Taro and Hanako are playing card games. They have n cards each, and they compete n turns. At each turn Taro and Hanako respectively puts out a card.
The name of the animal consisting of alphabetical letters is written on each card, and the bigger one in lexicographical order becomes the winner of that turn. The winner obtains 3 points. In the case of a draw, they obtain 1 point each.

Write a program which reads a sequence of cards Taro and Hanako have and reports the final scores of the game.

Input

In the first line, the number of cards n is given. In the following n lines, the cards for n turns are given respectively. For each line, the first string represents the Taro's card and the second one represents Hanako's card.

Constraints

n ≤ 1000

The length of the string ≤ 100

Output

Print the final scores of Taro and Hanako respectively. Put a single space character between them.

Sample Input

3
cat dog
fish fish
lion tiger

Sample Output

1 7

Solution in JAVA (judge verdict: Accepted)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// 得点カウント
		int player1Score = 0, player2Score = 0;

		// 勝負の回数(カード枚数)
		int round = Integer.parseInt(sc.nextLine());

		for (int i = 0; i < round; i++) {
			String[] cards = sc.nextLine().split("[\\s]+");
			// あいこの場合はお互いに+1
			if (cards[0].equals(cards[1])) {
				player1Score++;
				player2Score++;
				// player1,player2の順で勝利判定に渡す
			} else if (VictoryDecision(cards[0], cards[1])) {
				player1Score += 3;
			} else {
				player2Score += 3;
			}

		}

		// 出力
		System.out.println(player1Score + " " + player2Score);

	}

	// 勝利判定
	static boolean VictoryDecision(String str1, String str2) {
		// 文字列が短いほうにループ回数と勝利フラグをあわせる
		int looplimit = str1.length();
		boolean Victoryflag = false;
		if (str1.length() > str2.length()) {
			looplimit = str2.length();
			Victoryflag = true;
		}
		for (int i = 0; i < looplimit; i++) {
			if (str1.charAt(i) == str2.charAt(i)) {
				continue;
			} else {
				// 違う文字が出た場合文字のアルファベット順で判定
				return CharDecision(str1.charAt(i), str2.charAt(i));
			}
		}
		return Victoryflag;
	}

	// 1文字の判定
	static boolean CharDecision(char a, char b) {
		if ((int) a > (int) b) {
			return true;
		} else {
			return false;
		}
	}

}