먼저 문제를 잘 읽는것부터 어려웠다. 숫자들이 각 타일을 말하는 것인지, 모서리의 좌표를 말하는 것인지 파악해야했고, 좌표이기 때문에 일대일대응을 이용해서 타일의 갯수를 구해내야했다.

그보다 어려웠던 것은, 자꾸만 pic의 모든 줄들이 같은 값을 보여주길래 의문이 들었다. 그 이유는 값을 복사하느냐와 그 값을 지칭하는 주소를 복사하느냐의 차이였다. [값과 값의 주소](https://www.acmicpc.net/board/view/97946 참고)를 참고해보면 친절한 답변을 확인할 수 있다.

pic = [[0]*100 for _ in range(100)]와 같은 방식으로 선언해야지, pic = [[0]*100]*100와 같이 선언해버리면 주소만 복사하기 때문에 행들이 모두 동일해진다는 문제가 있었던 것이다.

n,m = map(int, input().split())
pic = [[0]*100 for _ in range(100)]


for i in range(n):
    x1, y1, x2, y2 = map(int, input().split())
    for i in range(x1-1, x2):
        for j in range(y1-1, y2):
            pic[i][j] += 1

result = 0
for line in pic:
    for i in line:
        if i > m:
            result += 1
print(result)