/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ boxes_weight0_weight([], W, W). boxes_weight0_weight([X|Xs], W0, W) :- box_weight(X, Wx), W1 is W0 + Wx, boxes_weight0_weight(Xs, W1, W). numberofboxes(120). allboxes([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]). validcontainerweight(X) :- X =< 15000. % 15000 kilograms max box_weight(0, 4200). % weight in kilogram box_weight(1, 6900). box_weight(2, 6700). box_weight(3, 5700). box_weight(4, 9300). box_weight(5, 9000). box_weight(6, 3800). box_weight(7, 3600). box_weight(8, 4500). box_weight(9, 4200). box_weight(10, 3300). box_weight(11, 7900). box_weight(12, 2700). box_weight(13, 5700). box_weight(14, 4400). box_weight(15, 8400). box_weight(16, 8600). box_weight(17, 9200). box_weight(18, 4600). box_weight(19, 3800). box_weight(20, 8500). box_weight(21, 3300). box_weight(22, 8200). box_weight(23, 7300). box_weight(24, 4900). box_weight(25, 7000). box_weight(26, 5900). box_weight(27, 2300). box_weight(28, 5700). box_weight(29, 7200). box_weight(30, 7400). box_weight(31, 6900). box_weight(32, 3300). box_weight(33, 4200). box_weight(34, 2800). box_weight(35, 4600). box_weight(36, 3000). box_weight(37, 6400). box_weight(38, 2900). box_weight(39, 7400). box_weight(40, 4100). box_weight(41, 4900). box_weight(42, 5500). box_weight(43, 9800). box_weight(44, 8000). box_weight(45, 3200). box_weight(46, 2500). box_weight(47, 3800). box_weight(48, 8200). box_weight(49, 3000). box_weight(50, 3500). box_weight(51, 3900). box_weight(52, 5700). box_weight(53, 8400). box_weight(54, 6200). box_weight(55, 5000). box_weight(56, 5500). box_weight(57, 2700). box_weight(58, 3000). box_weight(59, 3600). box_weight(60, 2000). box_weight(61, 7800). box_weight(62, 4700). box_weight(63, 2600). box_weight(64, 4500). box_weight(65, 4100). box_weight(66, 5800). box_weight(67, 9800). box_weight(68, 9100). box_weight(69, 9600). box_weight(70, 7300). box_weight(71, 8400). box_weight(72, 3700). box_weight(73, 9300). box_weight(74, 9100). box_weight(75, 4300). box_weight(76, 7300). box_weight(77, 8500). box_weight(78, 8100). box_weight(79, 7900). box_weight(80, 7100). box_weight(81, 8000). box_weight(82, 7600). box_weight(83, 8300). box_weight(84, 4100). box_weight(85, 7800). box_weight(86, 7000). box_weight(87, 2300). box_weight(88, 4200). box_weight(89, 8700). box_weight(90, 4300). box_weight(91, 8400). box_weight(92, 6000). box_weight(93, 5500). box_weight(94, 4900). box_weight(95, 7800). box_weight(96, 7300). box_weight(97, 6200). box_weight(98, 3600). box_weight(99, 4400). box_weight(100, 9400). box_weight(101, 6900). box_weight(102, 3200). box_weight(103, 9600). box_weight(104, 7000). box_weight(105, 8400). box_weight(106, 5800). box_weight(107, 7800). box_weight(108, 2500). box_weight(109, 8000). box_weight(110, 5800). box_weight(111, 6600). box_weight(112, 8300). box_weight(113, 2400). box_weight(114, 9800). box_weight(115, 6000). box_weight(116, 4200). box_weight(117, 4300). box_weight(118, 4300). box_weight(119, 3900).