﻿/*
 * @Author Denis Khripkov | denisx@ya.ru | www.denisx.ru
 */
var output = '';
function rw( s ){
	output +=  s ;
}
// склады
var An = 30;
// цена доставки в 1 строчку или по складам (true)
var line_flag = true;
// офисы
var Bn = An * 2;
var Asum = 0, Bsum = 0;
var A = [], B = [], C = []; 
var i, t;
var br = '<br/>';
for ( i = 0; i < Bn; i++ ){
	t = Math.round( Math.random()*99 + 1 ); 
	Bsum += t;
	B[i] = t;
}
for ( i = 0; i < An; i++ ){
	t = B[ i*2 ] + B[ i*2 + 1 ];
	Asum += t;
	A[ An - i-1 ] = t;
}
for ( i = 0; i < An*Bn; i++ ){
	C[ i ] = Math.round( Math.random()*( An-1 ) + 1 );
}
// для нашей простой задачки — сумма запасов равна сумме потребностей
//rw( Bsum + br );
//rw( Asum + br );
rw( Bn + br );
rw( An + br );
for ( i = 0; i < Bn; i++ ){
	rw( B[ i ] + ' ' );
}
rw( br );
for ( i = 0; i < An; i++ ){
	rw( A[ i ] + ' ' );
}
rw( br );
for ( i = 0; i < An*Bn; i++ ){
	rw( C[ i ] + ' ' );
	if ( line_flag ){ 
		if ( (i+1) % Bn == 0 ){ 
			rw( br ); 
		} 
	}
}