Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

JOHNSON2 - Lập lịch trên 3 máy

Có N chi tiết máy cần được gia công lần lượt trên 3 máy A , B và C.

Thời gian gia công chi tiết i trên máy A là a[i] , thời gian gia công trên máy B là b[i] , thời gian gia công trên máy C là c[i] .

Biết rằng 1 trong 2 điều kiện sau đây được thoả mãn :

+ max( b[i] ) ≤ min( a[i] ) hoặc

+ max( b[i] ) ≤ min( c[i] ) ( i = 1,…n )

Hãy tìm trình tự gia công các chi tiết trên 3 máy sao cho việc hoàn thành gia công tất cả các chi tiết là sớm nhất có thể .

Tham khảo thuật toán Johnson

Input

Dòng 1 : số nguyên dương N ( 1 ≤ N ≤ 1000 ) .
Dòng 2 : N số nguyên dương a[1] , … a[n] . ( 1 ≤ a[i] ≤ 10000 )
Dòng 3 : N số nguyên dương b[1] , … b[n] .( 1 ≤ b[i] ≤ 10000 )
Dòng 4 : N số nguyên dương c[1] , … c[n] .( 1 ≤ c[i] ≤ 10000 )

Output

Dòng 1 : Số nguyên dương T là thời điểm sớm nhất có thể hoàn thành .
Dòng 2 : N số nguyên là lịch trình gia công các chi tiết máy .

Example

Input:
2
1 2
3 2
4 4
Output:
12
1 2


Được gửi lên bởi:special_one
Ngày:2009-10-17
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C CSHARP CPP JAVA PAS-FPC

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.