No tag edit access

D. Analyzing Polyline

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputAs Valeric and Valerko were watching one of the last Euro Championship games in a sports bar, they broke a mug. Of course, the guys paid for it but the barman said that he will let them watch football in his bar only if they help his son complete a programming task. The task goes like that.

Let's consider a set of functions of the following form:

Valeric and Valerko really want to watch the next Euro Championship game, so they asked you to help them.

Input

The first line contains integer *n* (1 ≤ *n* ≤ 10^{5}) — the number of functions. Each of the following *n* lines contains two space-separated integer numbers *k*_{i}, *b*_{i} ( - 10^{9} ≤ *k*_{i}, *b*_{i} ≤ 10^{9}) that determine the *i*-th function.

Output

Print a single number — the number of angles that do not equal 180 degrees in the graph of the polyline that equals the sum of the given functions.

Examples

Input

1

1 0

Output

1

Input

3

1 0

0 2

-1 1

Output

2

Input

3

-2 -4

1 7

-5 1

Output

3

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/19/2018 18:38:11 (d1).

Desktop version, switch to mobile version.

User lists

Name |
---|