우물 유적 발굴하기

아직 제출이 없습니다시간 제한4초메모리 제한256 MB

문제

과거 폴리매스 문명의 사람들은 NN개의 우물을 사용한 것으로 알려져 있습니다. 당신은 우물의 위치를 모두 알아내었습니다. 힘겹게 땅을 파는 대신, 당신은 빠른 속도로 유적을 발굴하기 위해 NN개의 위치에 적당한 세기의 폭탄을 설치하였습니다.

당신은 NN개의 폭탄을 MM개의 전선을 이용해 연결했습니다. (각 전선은 두 폭탄을 서로 연결합니다.) 폭탄들이 무질서하게 터지는 것을 방지하기 위해, 각 전선별로 방향을 정해 불꽃이 한 방향으로만 번질 수 있게 하였습니다.

각 전선이 연결한 폭탄의 번호는 결정했지만, 전선의 방향은 결정하지 않았습니다. 전선의 방향을 정했을 때, 폭탄의 위험도는 S=max_1iN(A_iB_i)S= \max\_{1 \le i \le N} (|A\_i -B\_i |)로 계산됩니다. (단, A_iA\_i는 번 폭탄으로 들어오는 전선의 수, B_iB\_i는 번 폭탄에서 나가는 전선의 수)

위험도를 최소로 하는 전선의 방향을 찾아봅시다.

입력

첫 줄에는 폭탄의 수 NN과 전선의 수 MM이 주어집니다.

둘째 줄부터 M+1M+1번 줄까지, 각 전선이 연결하는 폭탄의 번호 u_iu\_i, v_iv\_i가 주어집니다.

출력

첫 줄에는 가능한 최소의 위험도를 출력합니다.

둘째 줄부터 M+1M+1번 줄까지, 각 전선의 방향을 a_ib_ia\_i b\_i의 형태로 출력합니다. a_ia\_i, b_ib\_i는 각각 u_iu\_i, v_iv\_i 중 하나이며, ii번 전선의 방향이 a_ia\_i번 폭탄에서 b_ib\_i번 폭탄으로 향하는 형태라는 의미입니다.

제한

  • 2N,M1062 \le N, M \le 10^6
  • 1u_i,v_iN1 \le u\_i, v\_i \le N
  • u_iv_iu\_i \neq v\_i
  • 중복 간선이 존재할 수 있습니다.