127_E. E-reader Display
After years of hard work scientists invented an absolutely new e-reader display. The new display has a larger resolution, consumes less energy and its production is cheaper. And besides, one can bend it. The only inconvenience is highly unusual management. For that very reason the developers decided to leave the e-readers' software to programmers.

The display is represented by n × n square of pixels, each of which can be either black or white. The display rows are numbered with integers from 1 to n upside down, the columns are numbered with integers from 1 to n from the left to the right. The display can perform commands like "x, y". When a traditional display fulfills such command, it simply inverts a color of (x, y), where x is the row number and y is the column number. But in our new display every pixel that belongs to at least one of the segments (x, x) - (x, y) and (y, y) - (x, y) (both ends of both segments are included) inverts a color.

For example, if initially a display 5 × 5 in size is absolutely white, then the sequence of commands (1, 4), (3, 5), (5, 1), (3, 3) leads to the following changes:

<image>

You are an e-reader software programmer and you should calculate minimal number of commands needed to display the picture. You can regard all display pixels as initially white.

Input

The first line contains number n (1 ≤ n ≤ 2000).

Next n lines contain n characters each: the description of the picture that needs to be shown. "0" represents the white color and "1" represents the black color. 

Output

Print one integer z — the least number of commands needed to display the picture.

Examples

Input

5
01110
10010
10001
10011
11110


Output

4
```python
n=int(input())
T=[]
for i in range(n):
    T.append(input()[::-1])

Val=['0','1']
S=0

L1=[0]*n
C1=[0]*n
for diag in range(n-1):
    for i in range(diag+1):
        l,c=L1[i],C1[diag-i]
        if T[i][diag-i]!=Val[(l+c)%2]:
            S+=1
            L1[i]=1-l
            C1[diag-i]=1-c

            
L2=[0]*n
C2=[0]*n
for diag in range(n-1):
    for i in range(diag+1):
        l,c=L2[i],C2[diag-i]
        if T[n-diag+i-1][n-i-1]!=Val[(l+c)%2]:
            S+=1
            L2[i]=1-l
            C2[diag-i]=1-c
            
for i in range(n):
    if Val[(L1[i]+L2[i]+C1[n-i-1]+C2[n-i-1])%2]!=T[i][n-i-1]:
        S+=1
            
print(S)


```