n, m = list(map(int, input().split()))

ball = [1] * n  # 各箱のボールの個数。初めは各箱に１つずつ。

red = set([0])  # 赤いボールがある可能性のある箱のインデックス。初めは0番目の箱に赤いボールがある。

for _ in range(m):

  x, y = list(map(int, input().split()))

  ball[x-1] -= 1  # x-1番目の箱のボールを1つ減らす

  ball[y-1] += 1  # y-1番目の箱のボールを1つ増やす

  if x-1 in red:  # x-1番目の箱に赤いボールがあるなら、y-1番目の箱に移動したとする。

  	red.add(y-1)

  if ball[x-1] == 0:  # x-1番目の箱にボールがなくなったら、赤いボールもないはずなので

    red.discard(x-1)  # 可能性のある箱から削除しとく

print((len(red)))  # 可能性のある箱の個数を出力
n, m = list(map(int, input().split()))

red = [0 for _ in range(n)]

red[0] = 1

balls = [1 for _ in range(n)]

for _ in range(m):

    x, y = list(map(int, input().split()))

    if balls[x-1]:

        balls[x-1] -= 1

        balls[y-1] += 1

        if red[x-1]:

            red[y-1] = 1

            if balls[x-1] == 0:

                red[x-1] = 0

cnt = 0

for i in range(n):

    if red[i] and balls[i]:

        cnt += 1

print(cnt)
n, m = list(map(int, input().split()))
ball = [1] * n  # 各箱のボールの個数。初めは各箱に１つずつ。
red = set([0])  # 赤いボールがある可能性のある箱のインデックス。初めは0番目の箱に赤いボールがある。
for _ in range(m):
    x, y = list(map(int, input().split()))
    ball[x - 1] -= 1  # x-1番目の箱のボールを1つ減らす
    ball[y - 1] += 1  # y-1番目の箱のボールを1つ増やす
    if x - 1 in red:  # x-1番目の箱に赤いボールがあるなら、y-1番目の箱に移動したとする。
        red.add(y - 1)
    if ball[x - 1] == 0:  # x-1番目の箱にボールがなくなったら、赤いボールもないはずなので
        red.discard(x - 1)  # 可能性のある箱から削除しとく
print((len(red)))  # 可能性のある箱の個数を出力

n, m = list(map(int, input().split()))
red = [0 for _ in range(n)]
red[0] = 1
balls = [1 for _ in range(n)]
for _ in range(m):
    x, y = list(map(int, input().split()))
    if balls[x - 1]:
        balls[x - 1] -= 1
        balls[y - 1] += 1
        if red[x - 1]:
            red[y - 1] = 1
            if balls[x - 1] == 0:
                red[x - 1] = 0
cnt = 0
for i in range(n):
    if red[i] and balls[i]:
        cnt += 1
print(cnt)

-ball = [1] * n  # 各箱のボールの個数。初めは各箱に１つずつ。 -red = set([0])  # 赤いボールがある可能性のある箱のインデックス。初めは0番目の箱に赤いボールがある。 +red = [0 for _ in range(n)] +red[0] = 1 +balls = [1 for _ in range(n)] -    ball[x - 1] -= 1  # x-1番目の箱のボールを1つ減らす -    ball[y - 1] += 1  # y-1番目の箱のボールを1つ増やす -    if x - 1 in red:  # x-1番目の箱に赤いボールがあるなら、y-1番目の箱に移動したとする。 -        red.add(y - 1) -    if ball[x - 1] == 0:  # x-1番目の箱にボールがなくなったら、赤いボールもないはずなので -        red.discard(x - 1)  # 可能性のある箱から削除しとく -print((len(red)))  # 可能性のある箱の個数を出力 +    if balls[x - 1]: +        balls[x - 1] -= 1 +        balls[y - 1] += 1 +        if red[x - 1]: +            red[y - 1] = 1 +            if balls[x - 1] == 0: +                red[x - 1] = 0 +cnt = 0 +for i in range(n): +    if red[i] and balls[i]: +        cnt += 1 +print(cnt)