ASSIGN1 - Phân công hoàn thành sớm nhất

Giới hạn
  • Thời gian: 0.185s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Có n người, n việc (1 < n ≤ 200). Người thứ i thực hiện công viêc j mất C[i,j] đơn vị thời gian. Giả sử tất cả bắt đầu vào thời điểm 0, hãy tìm cách bố trí mỗi công việc cho mỗi người sao cho thời điểm hoàn thành công việc là sớm nhất có thể.

Input

  • Dòng đầu: N
  • Tiếp theo là ma trận C[i,j]. (thuộc kiểu Integer - số nguyên 32 bit có dấu)

Output

Ghi thời điểm sớm nhất hoàn thành.

Example

Input
4
10 10 10 2
10 10 3 10
4 10 10 10
10 5 10 10
Output
5


  • Người up: dtmp