21 lines
27 KiB
MiniZinc
21 lines
27 KiB
MiniZinc
% Real case instance UD9 of http://satt.diegm.uniud.it/projects/gbac/
|
|
% Downloaded from https://bitbucket.org/satt/gbacp-instances/raw/Imported/UD/
|
|
% and translated into a MiniZinc data-file.
|
|
|
|
% Ing@UD aa06-07, first level
|
|
|
|
n_periods = 9 ;
|
|
n_courses = 303 ;
|
|
n_curricula = 37 ;
|
|
min_courses = 2 ;
|
|
max_courses = 6 ;
|
|
n_precedences = 1541 ;
|
|
n_undesirables = 255 ;
|
|
w1 = 1;
|
|
w2 = 1;
|
|
course_load = [6, 5, 5, 6, 5, 5, 6, 5, 6, 6, 5, 6, 5, 5, 5, 3, 6, 1, 1, 12, 6, 6, 6, 7, 7, 5, 6, 5, 6, 5, 6, 5, 5, 6, 6, 5, 6, 5, 6, 6, 6, 7, 1, 1, 5, 5, 5, 3, 10, 6, 5, 5, 5, 5, 6, 6, 7, 6, 5, 5, 5, 6, 5, 5, 5, 6, 6, 5, 6, 7, 5, 5, 5, 5, 5, 5, 5, 3, 6, 1, 1, 10, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 1, 1, 6, 7, 7, 6, 6, 6, 6, 5, 5, 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 3, 6, 7, 1, 1, 6, 6, 6, 7, 7, 6, 5, 5, 5, 5, 6, 6, 6, 5, 6, 6, 6, 5, 6, 5, 5, 6, 3, 6, 7, 1, 1, 12, 5, 5, 6, 5, 5, 5, 6, 5, 7, 3, 6, 1, 1, 5, 5, 5, 5, 5, 12, 12, 6, 7, 6, 6, 5, 5, 6, 5, 5, 5, 6, 6, 5, 6, 7, 5, 5, 5, 5, 5, 6, 1, 1, 7, 3, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, 18, 31, 5, 5, 5, 5, 5, 3, 3, 3, 3, 7, 5, 5, 5, 10, 5, 5, 5, 5, 5, 5, 11, 4, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 3, 3, 12, 12, 3, 12, 3, 6, 3, 5, 5, 5, 20, 5, 2, 1, 1, 1, 5, 1, 6, 10, 5, 1, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 5, 3] ;
|
|
courses_of = [{257, 273, 274, 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, 201, 83, 107, 237}, {257, 273, 274, 293, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 201, 77, 78, 79, 80, 81, 83, 107, 237}, {257, 273, 274, 293, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 201, 77, 78, 79, 80, 81, 83, 107, 237}, {257, 273, 274, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 201, 76, 77, 78, 79, 80, 81, 82, 83, 107, 237}, {257, 273, 274, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 201, 202, 77, 78, 79, 80, 81, 82, 83, 107, 237}, {257, 273, 274, 293, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 201, 77, 78, 79, 80, 81, 82, 83, 107, 237}, {128, 129, 2, 131, 132, 1, 134, 3, 4, 5, 6, 7, 8, 141, 9, 10, 11, 143, 146, 12, 13, 130, 14, 15, 16, 17, 152, 18, 19, 20, 282, 299, 300, 268, 269}, {128, 129, 2, 131, 132, 1, 134, 3, 4, 5, 6, 7, 8, 141, 9, 10, 11, 143, 146, 12, 13, 130, 14, 15, 16, 17, 152, 18, 19, 21, 22, 282, 299, 300, 268, 269}, {128, 129, 1, 131, 132, 5, 134, 130, 135, 136, 10, 138, 12, 141, 140, 143, 16, 17, 146, 18, 19, 20, 147, 23, 152, 160, 299, 300, 50, 51, 52, 53, 54, 139, 269}, {128, 129, 1, 131, 132, 5, 134, 130, 135, 136, 10, 138, 12, 141, 140, 143, 16, 17, 146, 18, 19, 147, 269, 23, 152, 160, 7, 299, 300, 50, 51, 52, 53, 54, 55, 139}, {128, 129, 1, 131, 132, 3, 134, 130, 8, 6, 7, 4, 12, 141, 269, 10, 16, 17, 18, 146, 22, 152, 283, 299, 300, 210, 211, 212, 213, 214, 216, 217, 227, 228, 100, 229}, {259, 260, 261, 262, 286, 270, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 287, 303, 48, 206, 207, 208, 235}, {259, 260, 261, 262, 286, 270, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 287, 46, 47, 48, 49, 303, 208}, {259, 260, 261, 262, 286, 270, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 287, 303, 48, 49, 290, 163, 208}, {259, 260, 261, 262, 286, 270, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 303, 48, 49, 287, 208}, {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 12, 146, 147, 148, 149, 150, 151, 152, 153, 154, 299, 300, 51, 52, 269, 90}, {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 12, 145, 146, 147, 148, 269, 150, 151, 152, 153, 154, 155, 299, 300, 51, 52, 90}, {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 12, 146, 269, 150, 151, 152, 153, 154, 156, 157, 158, 160, 299, 300, 90, 236}, {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 12, 145, 146, 269, 150, 151, 152, 153, 154, 155, 156, 157, 160, 299, 300, 90, 236}, {128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 141, 142, 269, 145, 146, 150, 151, 152, 284, 157, 285, 299, 300, 209, 210, 215, 90, 222, 223, 224, 225, 227, 100, 229}, {271, 272, 159, 161, 162, 164, 58, 64, 69, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127}, {9, 271, 272, 159, 161, 162, 164, 172, 175, 58, 64, 69, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 123, 124, 125, 126, 127}, {271, 272, 159, 161, 162, 164, 173, 175, 58, 64, 65, 69, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 123, 124, 125, 126, 127}, {278, 279, 280, 291, 292, 94, 220, 84, 85, 86, 87, 88, 89, 218, 219, 90, 91, 92, 93, 96, 97, 98, 99, 100, 101, 102, 103, 95, 226, 231, 240, 242, 247, 251, 252}, {256, 278, 279, 280, 291, 292, 95, 84, 85, 86, 87, 88, 89, 218, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 226, 231, 243, 244, 245, 249, 250, 254}, {281, 291, 292, 296, 297, 298, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 226, 227, 228, 229, 230, 231, 232, 233, 234, 246, 248, 253, 255}, {278, 279, 280, 281, 291, 292, 94, 84, 85, 86, 87, 88, 89, 218, 90, 91, 221, 92, 93, 96, 97, 98, 99, 100, 101, 102, 103, 95, 226, 231, 241, 246, 248, 253, 255}, {259, 270, 24, 25, 26, 27, 30, 31, 159, 161, 162, 163, 36, 37, 38, 34, 164, 165, 166, 42, 167, 45, 168, 303, 206, 208, 235, 108, 109, 110, 120, 121, 122}, {259, 270, 277, 24, 25, 26, 27, 30, 31, 159, 161, 162, 163, 36, 37, 38, 34, 164, 165, 166, 42, 167, 45, 168, 170, 174, 303, 208, 108, 109, 110, 120}, {259, 270, 24, 25, 26, 27, 30, 31, 159, 161, 162, 163, 36, 37, 38, 34, 164, 165, 166, 42, 167, 45, 168, 169, 171, 174, 303, 208, 108, 109, 110, 120}, {258, 275, 276, 288, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 275, 276, 288, 295, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 275, 276, 288, 294, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 275, 276, 288, 289, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 275, 276, 288, 289, 295, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 275, 276, 288, 289, 294, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 195, 196, 197, 198, 199, 200, 203, 204, 205, 238, 239}, {258, 263, 264, 265, 266, 267, 275, 276, 288, 289, 301, 302, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 196, 197, 198, 199, 200, 204, 238, 239}] ;
|
|
precedes = array2d(precedences,1..2, [128, 4, 128, 7, 128, 8, 128, 9, 128, 10, 128, 11, 128, 13, 128, 14, 128, 15, 128, 21, 128, 22, 128, 23, 128, 50, 128, 147, 128, 52, 128, 53, 128, 160, 128, 54, 128, 55, 128, 138, 128, 139, 128, 268, 129, 4, 129, 7, 129, 8, 129, 9, 129, 10, 129, 11, 129, 13, 129, 14, 129, 15, 129, 21, 129, 22, 129, 23, 129, 50, 129, 147, 129, 52, 129, 53, 129, 160, 129, 54, 129, 55, 129, 138, 129, 139, 129, 268, 131, 1, 131, 2, 131, 134, 131, 3, 131, 141, 131, 4, 131, 5, 131, 6, 131, 7, 131, 8, 131, 9, 131, 10, 131, 11, 131, 146, 131, 12, 131, 13, 131, 130, 131, 14, 131, 15, 131, 21, 131, 22, 131, 23, 131, 50, 131, 140, 131, 147, 131, 135, 131, 136, 131, 51, 131, 52, 131, 53, 131, 160, 131, 54, 131, 55, 131, 138, 131, 139, 131, 268, 132, 4, 132, 7, 132, 8, 132, 9, 132, 10, 132, 11, 132, 13, 132, 14, 132, 15, 132, 21, 132, 22, 132, 23, 132, 50, 132, 147, 132, 52, 132, 53, 132, 160, 132, 54, 132, 55, 132, 138, 132, 139, 132, 268, 143, 4, 143, 7, 143, 8, 143, 9, 143, 10, 143, 11, 143, 13, 143, 14, 143, 15, 143, 21, 143, 22, 143, 23, 143, 50, 143, 147, 143, 52, 143, 53, 143, 160, 143, 54, 143, 55, 143, 138, 143, 139, 143, 268, 152, 4, 152, 7, 152, 8, 152, 9, 152, 10, 152, 11, 152, 13, 152, 14, 152, 15, 152, 21, 152, 22, 152, 23, 152, 50, 152, 147, 152, 52, 152, 53, 152, 160, 152, 54, 152, 55, 152, 138, 152, 139, 152, 268, 24, 26, 24, 27, 24, 28, 24, 29, 24, 30, 24, 31, 24, 32, 24, 33, 24, 36, 24, 37, 24, 38, 24, 39, 24, 40, 24, 41, 24, 45, 24, 46, 24, 47, 24, 206, 24, 207, 24, 208, 24, 235, 24, 163, 24, 261, 24, 262, 24, 286, 24, 287, 25, 28, 25, 29, 25, 39, 25, 40, 25, 41, 25, 45, 25, 46, 25, 47, 25, 206, 25, 207, 25, 235, 25, 163, 25, 262, 25, 286, 25, 287, 33, 290, 34, 28, 34, 29, 34, 39, 34, 40, 34, 41, 34, 45, 34, 46, 34, 47, 34, 206, 34, 207, 34, 235, 34, 163, 34, 262, 34, 286, 34, 287, 35, 28, 35, 29, 35, 39, 35, 40, 35, 41, 35, 45, 35, 46, 35, 47, 35, 206, 35, 207, 35, 235, 35, 163, 35, 262, 35, 286, 35, 287, 37, 28, 37, 29, 37, 39, 37, 40, 37, 41, 37, 45, 37, 46, 37, 47, 37, 206, 37, 207, 37, 235, 37, 163, 37, 286, 42, 28, 42, 29, 42, 39, 42, 40, 42, 41, 42, 45, 42, 46, 42, 47, 42, 206, 42, 207, 42, 235, 42, 163, 42, 262, 42, 286, 42, 287, 56, 60, 56, 64, 56, 65, 56, 73, 56, 74, 56, 75, 56, 76, 56, 237, 56, 257, 57, 107, 57, 58, 57, 59, 57, 60, 57, 61, 57, 62, 57, 63, 57, 64, 57, 65, 57, 68, 57, 69, 57, 71, 57, 72, 57, 73, 57, 74, 57, 75, 57, 76, 57, 237, 57, 257, 66, 60, 66, 64, 66, 65, 66, 73, 66, 74, 66, 75, 66, 76, 66, 237, 66, 257, 67, 60, 67, 64, 67, 65, 67, 73, 67, 74, 67, 75, 67, 76, 67, 237, 67, 257, 70, 60, 70, 64, 70, 65, 70, 73, 70, 74, 70, 75, 70, 76, 70, 237, 70, 257, 83, 60, 83, 64, 83, 65, 83, 73, 83, 74, 83, 75, 83, 76, 83, 237, 83, 257, 104, 109, 104, 110, 104, 162, 104, 64, 104, 111, 104, 115, 104, 116, 104, 120, 104, 121, 104, 122, 104, 9, 104, 172, 104, 173, 104, 65, 105, 107, 105, 159, 105, 161, 105, 109, 105, 110, 105, 162, 105, 64, 105, 111, 105, 58, 105, 112, 105, 69, 105, 113, 105, 164, 105, 115, 105, 116, 105, 117, 105, 118, 105, 119, 105, 120, 105, 121, 105, 122, 105, 9, 105, 172, 105, 173, 105, 65, 106, 109, 106, 110, 106, 162, 106, 64, 106, 111, 106, 115, 106, 116, 106, 120, 106, 121, 106, 122, 106, 9, 106, 172, 106, 173, 106, 65, 108, 109, 108, 110, 108, 162, 108, 64, 108, 111, 108, 115, 108, 116, 108, 120, 108, 121, 108, 122, 108, 9, 108, 172, 108, 173, 108, 65, 114, 109, 114, 110, 114, 162, 114, 64, 114, 111, 114, 115, 114, 116, 114, 120, 114, 121, 114, 122, 114, 9, 114, 172, 114, 173, 114, 65, 125, 109, 125, 110, 125, 162, 125, 64, 125, 111, 125, 115, 125, 116, 125, 120, 125, 121, 125, 122, 125, 9, 125, 172, 125, 173, 125, 65, 128, 142, 128, 144, 128, 148, 128, 149, 128, 156, 128, 157, 128, 158, 128, 90, 128, 51, 128, 236, 129, 142, 129, 144, 129, 148, 129, 149, 129, 156, 129, 157, 129, 158, 129, 90, 129, 51, 129, 236, 131, 133, 131, 137, 131, 142, 131, 144, 131, 145, 131, 148, 131, 149, 131, 156, 131, 157, 131, 158, 131, 90, 131, 236, 132, 142, 132, 144, 132, 148, 132, 149, 132, 156, 132, 157, 132, 158, 132, 90, 132, 51, 132, 236, 143, 142, 143, 144, 143, 148, 143, 149, 143, 156, 143, 157, 143, 158, 143, 90, 143, 51, 143, 236, 152, 142, 152, 144, 152, 148, 152, 149, 152, 156, 152, 157, 152, 158, 152, 90, 152, 51, 152, 236, 259, 109, 259, 110, 259, 162, 259, 120, 259, 163, 259, 45, 259, 206, 259, 235, 259, 121, 259, 122, 259, 169, 259, 170, 259, 171, 259, 277, 24, 159, 24, 161, 24, 109, 24, 110, 24, 162, 24, 120, 24, 164, 24, 121, 24, 122, 24, 169, 24, 170, 24, 171, 24, 277, 25, 109, 25, 110, 25, 162, 25, 120, 25, 121, 25, 122, 25, 169, 25, 170, 25, 171, 25, 277, 108, 163, 108, 45, 108, 206, 108, 235, 108, 169, 108, 170, 108, 171, 108, 277, 34, 109, 34, 110, 34, 162, 34, 120, 34, 121, 34, 122, 34, 169, 34, 170, 34, 171, 34, 277, 42, 109, 42, 110, 42, 162, 42, 120, 42, 121, 42, 122, 42, 169, 42, 170, 42, 171, 42, 277, 176, 180, 176, 184, 176, 185, 176, 191, 176, 192, 176, 193, 176, 194, 176, 258, 176, 294, 177, 178, 177, 179, 177, 180, 177, 181, 177, 182, 177, 183, 177, 184, 177, 185, 177, 188, 177, 189, 177, 191, 177, 192, 177, 193, 177, 194, 177, 203, 177, 204, 177, 205, 177, 238, 177, 239, 177, 258, 177, 294, 186, 180, 186, 184, 186, 185, 186, 191, 186, 192, 186, 193, 186, 194, 186, 258, 186, 294, 187, 180, 187, 184, 187, 185, 187, 191, 187, 192, 187, 193, 187, 194, 187, 258, 187, 294, 190, 180, 190, 184, 190, 185, 190, 191, 190, 192, 190, 193, 190, 194, 190, 258, 190, 294, 199, 180, 199, 184, 199, 185, 199, 191, 199, 192, 199, 193, 199, 194, 199, 258, 199, 294, 208, 290, 259, 28, 259, 29, 259, 39, 259, 40, 259, 41, 259, 46, 259, 47, 259, 207, 259, 262, 259, 286, 259, 287, 262, 290, 269, 130, 269, 133, 269, 134, 269, 135, 269, 136, 269, 137, 269, 138, 269, 139, 269, 140, 269, 141, 269, 142, 269, 144, 269, 145, 269, 12, 269, 146, 269, 147, 269, 148, 269, 149, 269, 52, 269, 156, 269, 157, 269, 158, 269, 160, 269, 90, 269, 51, 269, 236, 269, 1, 269, 2, 269, 3, 269, 4, 269, 5, 269, 6, 269, 7, 269, 8, 269, 9, 269, 10, 269, 11, 269, 13, 269, 14, 269, 15, 269, 21, 269, 22, 269, 23, 269, 50, 269, 53, 269, 54, 269, 55, 269, 268, 270, 26, 270, 27, 270, 28, 270, 29, 270, 30, 270, 31, 270, 32, 270, 33, 270, 36, 270, 37, 270, 38, 270, 39, 270, 40, 270, 41, 270, 45, 270, 46, 270, 47, 270, 206, 270, 207, 270, 208, 270, 235, 270, 163, 270, 261, 270, 262, 270, 286, 270, 287, 270, 159, 270, 161, 270, 109, 270, 110, 270, 162, 270, 120, 270, 164, 270, 121, 270, 122, 270, 169, 270, 170, 270, 171, 270, 277, 303, 26, 303, 159, 303, 161, 303, 109, 303, 110, 303, 162, 303, 120, 303, 38, 303, 30, 303, 163, 303, 37, 303, 36, 303, 45, 303, 27, 303, 31, 303, 206, 303, 235, 303, 164, 303, 121, 303, 122, 303, 169, 303, 170, 303, 171, 303, 277, 303, 208, 271, 107, 271, 159, 271, 161, 271, 109, 271, 110, 271, 162, 271, 64, 271, 111, 271, 58, 271, 112, 271, 69, 271, 113, 271, 164, 271, 115, 271, 116, 271, 117, 271, 118, 271, 119, 271, 120, 271, 121, 271, 122, 271, 9, 271, 172, 271, 173, 271, 65, 272, 107, 272, 159, 272, 161, 272, 109, 272, 110, 272, 162, 272, 64, 272, 111, 272, 58, 272, 112, 272, 69, 272, 113, 272, 164, 272, 115, 272, 116, 272, 117, 272, 118, 272, 119, 272, 120, 272, 121, 272, 122, 272, 9, 272, 172, 272, 173, 272, 65, 273, 107, 273, 58, 273, 59, 273, 60, 273, 61, 273, 62, 273, 63, 273, 64, 273, 65, 273, 68, 273, 69, 273, 71, 273, 72, 273, 73, 273, 74, 273, 75, 273, 76, 273, 237, 273, 257, 274, 107, 274, 58, 274, 59, 274, 60, 274, 61, 274, 62, 274, 63, 274, 64, 274, 65, 274, 68, 274, 69, 274, 71, 274, 72, 274, 73, 274, 74, 274, 75, 274, 76, 274, 201, 274, 237, 274, 257, 275, 178, 275, 179, 275, 180, 275, 181, 275, 182, 275, 183, 275, 184, 275, 185, 275, 188, 275, 189, 275, 191, 275, 192, 275, 193, 275, 194, 275, 203, 275, 204, 275, 205, 275, 238, 275, 239, 275, 258, 275, 294, 276, 178, 276, 179, 276, 180, 276, 181, 276, 182, 276, 183, 276, 184, 276, 185, 276, 188, 276, 189, 276, 191, 276, 192, 276, 193, 276, 194, 276, 203, 276, 204, 276, 205, 276, 238, 276, 239, 276, 258, 276, 294, 288, 178, 288, 179, 288, 180, 288, 181, 288, 182, 288, 183, 288, 184, 288, 185, 288, 188, 288, 189, 288, 191, 288, 192, 288, 193, 288, 194, 288, 203, 288, 204, 288, 205, 288, 238, 288, 239, 288, 258, 288, 294, 303, 28, 303, 29, 303, 32, 303, 33, 303, 39, 303, 40, 303, 41, 303, 46, 303, 47, 303, 207, 303, 261, 303, 262, 303, 286, 303, 287, 131, 132, 1, 20, 1, 21, 1, 22, 1, 55, 1, 228, 1, 216, 1, 7, 134, 20, 134, 21, 134, 22, 134, 55, 134, 228, 134, 216, 134, 7, 130, 20, 130, 21, 130, 22, 130, 55, 130, 228, 130, 216, 130, 7, 17, 2, 17, 3, 17, 141, 17, 5, 17, 6, 17, 7, 17, 8, 17, 10, 17, 11, 17, 146, 17, 12, 17, 13, 17, 20, 17, 21, 17, 22, 17, 140, 17, 135, 17, 136, 17, 52, 17, 53, 17, 160, 17, 55, 17, 139, 17, 210, 17, 228, 17, 213, 17, 227, 17, 216, 24, 25, 27, 38, 30, 31, 30, 49, 30, 206, 30, 235, 37, 49, 41, 47, 140, 147, 135, 136, 51, 20, 51, 21, 51, 22, 51, 55, 51, 228, 51, 216, 51, 7, 52, 53, 57, 70, 107, 74, 107, 75, 107, 82, 58, 74, 58, 75, 58, 82, 61, 74, 61, 75, 61, 82, 64, 73, 68, 74, 68, 75, 68, 82, 79, 59, 79, 62, 79, 63, 79, 65, 79, 69, 79, 71, 79, 72, 79, 73, 79, 74, 79, 75, 79, 76, 79, 82, 79, 201, 79, 202, 79, 257, 79, 293, 80, 65, 80, 73, 80, 74, 80, 75, 80, 76, 80, 82, 80, 202, 80, 257, 80, 293, 84, 100, 84, 230, 84, 233, 84, 240, 84, 256, 84, 281, 84, 291, 84, 292, 84, 298, 87, 88, 91, 100, 91, 230, 91, 233, 91, 240, 91, 256, 91, 281, 91, 291, 91, 292, 91, 298, 98, 93, 98, 94, 98, 95, 98, 96, 98, 100, 98, 219, 98, 221, 98, 228, 98, 230, 98, 233, 98, 240, 98, 250, 98, 256, 98, 281, 98, 291, 98, 292, 98, 298, 101, 88, 101, 89, 101, 93, 101, 94, 101, 95, 101, 97, 101, 99, 101, 100, 101, 219, 101, 220, 101, 221, 101, 227, 101, 228, 101, 230, 101, 232, 101, 233, 101, 240, 101, 248, 101, 250, 101, 254, 101, 256, 101, 278, 101, 280, 101, 281, 101, 291, 101, 292, 101, 297, 101, 298, 102, 88, 102, 89, 102, 93, 102, 94, 102, 95, 102, 97, 102, 99, 102, 100, 102, 219, 102, 220, 102, 221, 102, 227, 102, 228, 102, 230, 102, 232, 102, 233, 102, 240, 102, 248, 102, 250, 102, 254, 102, 256, 102, 278, 102, 280, 102, 281, 102, 291, 102, 292, 102, 297, 102, 298, 103, 88, 103, 89, 103, 93, 103, 94, 103, 95, 103, 97, 103, 99, 103, 100, 103, 219, 103, 220, 103, 221, 103, 227, 103, 228, 103, 230, 103, 232, 103, 233, 103, 240, 103, 248, 103, 250, 103, 254, 103, 256, 103, 278, 103, 280, 103, 281, 103, 291, 103, 292, 103, 297, 103, 298, 105, 106, 107, 115, 107, 116, 58, 115, 58, 116, 115, 116, 118, 115, 118, 116, 119, 115, 119, 116, 124, 159, 124, 161, 124, 162, 124, 111, 124, 112, 124, 69, 124, 113, 124, 164, 124, 115, 124, 116, 124, 117, 124, 120, 124, 122, 124, 172, 124, 65, 130, 144, 130, 149, 130, 155, 130, 158, 130, 215, 130, 222, 130, 223, 130, 224, 130, 225, 133, 144, 133, 149, 133, 155, 133, 158, 133, 215, 133, 222, 133, 223, 133, 224, 133, 225, 134, 144, 134, 149, 134, 155, 134, 158, 134, 215, 134, 222, 134, 223, 134, 224, 134, 225, 138, 139, 145, 144, 145, 149, 145, 155, 145, 158, 145, 215, 145, 222, 145, 223, 145, 224, 145, 225, 151, 135, 151, 136, 151, 137, 151, 139, 151, 140, 151, 141, 151, 142, 151, 144, 151, 12, 151, 146, 151, 148, 151, 149, 151, 52, 151, 155, 151, 158, 151, 160, 151, 227, 151, 210, 151, 215, 151, 222, 151, 223, 151, 224, 151, 225, 151, 236, 26, 206, 26, 235, 26, 277, 30, 277, 37, 277, 206, 235, 166, 159, 166, 161, 166, 162, 166, 120, 166, 38, 166, 36, 166, 45, 166, 27, 166, 31, 166, 206, 166, 235, 166, 164, 166, 122, 166, 169, 166, 277, 166, 208, 177, 190, 178, 192, 178, 193, 178, 195, 178, 289, 179, 192, 179, 193, 179, 195, 179, 289, 181, 192, 181, 193, 181, 195, 181, 289, 184, 191, 188, 192, 188, 193, 188, 195, 188, 289, 196, 182, 196, 183, 196, 185, 196, 189, 196, 191, 196, 192, 196, 193, 196, 194, 196, 195, 196, 203, 196, 204, 196, 205, 196, 238, 196, 239, 196, 258, 196, 263, 196, 264, 196, 265, 196, 267, 196, 289, 196, 294, 196, 295, 197, 185, 197, 191, 197, 192, 197, 193, 197, 194, 197, 195, 197, 258, 197, 265, 197, 267, 197, 289, 197, 294, 197, 295, 229, 144, 229, 149, 229, 155, 229, 158, 229, 215, 229, 222, 229, 223, 229, 224, 229, 225, 211, 212, 217, 20, 217, 21, 217, 22, 217, 55, 217, 228, 217, 216, 217, 7, 218, 100, 218, 230, 218, 233, 218, 240, 218, 256, 218, 281, 218, 291, 218, 292, 218, 298, 226, 93, 226, 94, 226, 95, 226, 100, 226, 219, 226, 221, 226, 228, 226, 230, 226, 233, 226, 240, 226, 250, 226, 256, 226, 281, 226, 291, 226, 292, 226, 298, 229, 100, 229, 230, 229, 233, 229, 240, 229, 256, 229, 281, 229, 291, 229, 292, 229, 298, 241, 100, 241, 230, 241, 233, 241, 240, 241, 256, 241, 281, 241, 291, 241, 292, 241, 298, 242, 100, 242, 230, 242, 233, 242, 240, 242, 256, 242, 281, 242, 291, 242, 292, 242, 298, 245, 93, 245, 94, 245, 95, 245, 100, 245, 219, 245, 221, 245, 228, 245, 230, 245, 233, 245, 240, 245, 250, 245, 256, 245, 281, 245, 291, 245, 292, 245, 298, 246, 93, 246, 94, 246, 95, 246, 100, 246, 219, 246, 221, 246, 228, 246, 230, 246, 233, 246, 240, 246, 250, 246, 256, 246, 281, 246, 291, 246, 292, 246, 298, 247, 93, 247, 94, 247, 95, 247, 100, 247, 219, 247, 221, 247, 228, 247, 230, 247, 233, 247, 240, 247, 250, 247, 256, 247, 281, 247, 291, 247, 292, 247, 298, 249, 100, 249, 230, 249, 233, 249, 240, 249, 256, 249, 281, 249, 291, 249, 292, 249, 298, 260, 27, 260, 28, 260, 31, 260, 32, 260, 33, 260, 36, 260, 38, 260, 39, 260, 40, 260, 45, 260, 47, 260, 49, 260, 206, 260, 207, 260, 208, 260, 235, 260, 290, 261, 49, 261, 206, 261, 235, 262, 49, 262, 206, 262, 235, 269, 155, 269, 210, 269, 215, 269, 222, 269, 223, 269, 224, 269, 225, 269, 20, 269, 228, 269, 216, 270, 49, 270, 259, 271, 104, 273, 56, 273, 82, 274, 82, 275, 195, 275, 263, 275, 264, 275, 289, 276, 195, 276, 263, 276, 264, 276, 289, 283, 8, 283, 10, 283, 11, 283, 13, 283, 20, 283, 21, 283, 22, 283, 52, 283, 53, 283, 160, 283, 55, 283, 139, 283, 228, 283, 213, 283, 227, 283, 216, 283, 146, 283, 7, 284, 144, 284, 149, 284, 155, 284, 158, 284, 215, 284, 222, 284, 223, 284, 224, 284, 225, 285, 139, 285, 142, 285, 144, 285, 148, 285, 149, 285, 52, 285, 155, 285, 158, 285, 160, 285, 215, 285, 222, 285, 223, 285, 224, 285, 225, 285, 236, 288, 195, 288, 263, 288, 264, 288, 289, 299, 136, 299, 140, 299, 141, 299, 144, 299, 149, 299, 155, 299, 158, 299, 210, 299, 215, 299, 222, 299, 223, 299, 224, 299, 225, 300, 136, 300, 140, 300, 141, 300, 144, 300, 149, 300, 155, 300, 158, 300, 210, 300, 215, 300, 222, 300, 223, 300, 224, 300, 225, 299, 5, 299, 6, 299, 7, 299, 20, 299, 21, 299, 22, 299, 55, 299, 228, 299, 216, 300, 5, 300, 6, 300, 7, 300, 20, 300, 21, 300, 22, 300, 55, 300, 228, 300, 216, 301, 302, 303, 49] );
|
|
undesirable = array2d(undesirables,1..2, [2, 3, 2, 6, 2, 9, 5, 1, 5, 4, 5, 7, 16, 1, 16, 4, 16, 7, 16, 2, 16, 5, 16, 8, 20, 1, 20, 4, 20, 7, 22, 1, 22, 4, 22, 7, 22, 3, 22, 6, 22, 9, 23, 3, 23, 6, 23, 9, 29, 1, 29, 4, 29, 7, 32, 1, 32, 4, 32, 7, 39, 3, 39, 6, 39, 9, 40, 1, 40, 4, 40, 7, 42, 3, 42, 6, 42, 9, 43, 2, 43, 5, 43, 8, 45, 3, 45, 6, 45, 9, 47, 3, 47, 6, 47, 9, 48, 2, 48, 5, 48, 8, 50, 2, 50, 5, 50, 8, 50, 3, 50, 6, 50, 9, 52, 3, 52, 6, 52, 9, 54, 1, 54, 4, 54, 7, 57, 1, 57, 4, 57, 7, 59, 2, 59, 5, 59, 8, 70, 3, 70, 6, 70, 9, 73, 3, 73, 6, 73, 9, 81, 2, 81, 5, 81, 8, 85, 2, 85, 5, 85, 8, 86, 2, 86, 5, 86, 8, 87, 3, 87, 6, 87, 9, 89, 3, 89, 6, 89, 9, 90, 1, 90, 4, 90, 7, 102, 3, 102, 6, 102, 9, 107, 3, 107, 6, 107, 9, 111, 2, 111, 5, 111, 8, 114, 3, 114, 6, 114, 9, 121, 3, 121, 6, 121, 9, 122, 3, 122, 6, 122, 9, 133, 3, 133, 6, 133, 9, 134, 3, 134, 6, 134, 9, 136, 1, 136, 4, 136, 7, 139, 1, 139, 4, 139, 7, 140, 3, 140, 6, 140, 9, 145, 2, 145, 5, 145, 8, 147, 1, 147, 4, 147, 7, 150, 3, 150, 6, 150, 9, 151, 3, 151, 6, 151, 9, 156, 3, 156, 6, 156, 9, 158, 1, 158, 4, 158, 7, 160, 1, 160, 4, 160, 7, 160, 3, 160, 6, 160, 9, 162, 1, 162, 4, 162, 7, 169, 2, 169, 5, 169, 8, 174, 3, 174, 6, 174, 9, 178, 1, 178, 4, 178, 7, 180, 1, 180, 4, 180, 7, 186, 1, 186, 4, 186, 7, 188, 1, 188, 4, 188, 7, 193, 3, 193, 6, 193, 9, 194, 2, 194, 5, 194, 8, 194, 3, 194, 6, 194, 9, 195, 2, 195, 5, 195, 8, 199, 3, 199, 6, 199, 9, 200, 3, 200, 6, 200, 9, 208, 2, 208, 5, 208, 8, 208, 3, 208, 6, 208, 9, 209, 1, 209, 4, 209, 7, 228, 2, 228, 5, 228, 8, 238, 3, 238, 6, 238, 9, 239, 1, 239, 4, 239, 7, 242, 3, 242, 6, 242, 9, 245, 3, 245, 6, 245, 9, 252, 1, 252, 4, 252, 7, 255, 2, 255, 5, 255, 8, 264, 1, 264, 4, 264, 7, 270, 1, 270, 4, 270, 7, 270, 2, 270, 5, 270, 8, 274, 3, 274, 6, 274, 9, 277, 1, 277, 4, 277, 7, 277, 3, 277, 6, 277, 9, 283, 3, 283, 6, 283, 9, 288, 3, 288, 6, 288, 9, 289, 3, 289, 6, 289, 9, 290, 2, 290, 5, 290, 8, 299, 3, 299, 6, 299, 9, 303, 1, 303, 4, 303, 7] );
|
|
% {'c884': 221, 'c152': 96, 'c894': 224, 'c780': 213, 'c110': 69, 'c121': 77, 'c217': 135, 'c6': 1, 'c98': 59, 'c1061': 289, 'c181': 108, 'c685': 180, 'c78': 49, 'c1058': 286, 'c467': 172, 'c191': 112, 'c1145': 302, 'c1031': 271, 'c174': 103, 'c946': 239, 'c137': 90, 'c705': 197, 'c746': 208, 'c29': 16, 'c1090': 300, 'c211': 129, 'c30': 17, 'c681': 177, 'c101': 61, 'c213': 131, 'c123': 79, 'c162': 99, 'c978': 253, 'c695': 188, 'c689': 182, 'c682': 178, 'c237': 151, 'c133': 89, 'c60': 38, 'c1036': 276, 'c195': 114, 'c124': 80, 'c20': 11, 'c149': 94, 'c210': 128, 'c239': 153, 'c107': 66, 'c115': 73, 'c1085': 296, 'c1077': 293, 'c212': 130, 'c969': 250, 'c722': 201, 'c1075': 291, 'c961': 247, 'c89': 53, 'c770': 209, 'c742': 207, 'c1019': 267, 'c1008': 260, 'c225': 142, 'c733': 204, 'c219': 137, 'c732': 203, 'c1013': 262, 'c88': 52, 'c905': 233, 'c24': 13, 'c26': 14, 'c215': 133, 'c899': 229, 'c11': 4, 'c118': 76, 'c236': 150, 'c904': 232, 'c1149': 303, 'c57': 35, 'c178': 105, 'c7': 2, 'c708': 199, 'c279': 169, 'c59': 37, 'c1044': 281, 'c228': 145, 'c261': 163, 'c1018': 266, 'c61': 39, 'c1034': 274, 'c104': 63, 'c701': 194, 'c203': 122, 'c838': 216, 'c882': 219, 'c196': 115, 'c271': 164, 'c955': 244, 'c108': 67, 'c32': 18, 'c15': 8, 'c77': 48, 'c95': 57, 'c227': 144, 'c694': 187, 'c207': 126, 'c1007': 259, 'c188': 111, 'c64': 41, 'c1042': 279, 'c723': 202, 'c34': 20, 'c692': 185, 'c931': 236, 'c223': 140, 'c53': 32, 'c163': 100, 'c206': 125, 'c275': 166, 'c773': 210, 'c35': 21, 'c193': 113, 'c1084': 295, 'c105': 64, 'c184': 109, 'c9': 3, 'c198': 117, 'c875': 217, 'c957': 245, 'c1016': 264, 'c1037': 277, 'c700': 193, 'c128': 84, 'c1059': 287, 'c243': 156, 'c1076': 292, 'c109': 68, 'c208': 127, 'c80': 50, 'c51': 30, 'c150': 95, 'c52': 31, 'c1015': 263, 'c56': 34, 'c45': 25, 'c132': 88, 'c687': 181, 'c277': 167, 'c1086': 297, 'c985': 256, 'c117': 75, 'c12': 5, 'c983': 255, 'c214': 132, 'c683': 179, 'c274': 165, 'c1051': 284, 'c945': 238, 'c18': 9, 'c710': 200, 'c171': 101, 'c36': 22, 'c19': 10, 'c69': 42, 'c148': 93, 'c13': 6, 'c895': 225, 'c998': 257, 'c129': 85, 'c122': 78, 'c143': 92, 'c907': 234, 'c999': 258, 'c1078': 294, 'c23': 12, 'c741': 206, 'c72': 45, 'c216': 134, 'c980': 254, 'c27': 15, 'c221': 139, 'c693': 186, 'c781': 214, 'c473': 175, 'c154': 98, 'c131': 87, 'c703': 195, 'c173': 102, 'c965': 249, 'c949': 241, 'c50': 29, 'c114': 72, 'c892': 222, 'c697': 190, 'c91': 54, 'c74': 47, 'c200': 119, 'c73': 46, 'c112': 70, 'c935': 237, 'c185': 110, 'c85': 51, 'c253': 160, 'c94': 56, 'c910': 235, 'c1035': 275, 'c204': 123, 'c1027': 270, 'c247': 157, 'c218': 136, 'c706': 198, 'c205': 124, 'c249': 158, 'c778': 212, 'c1060': 288, 'c199': 118, 'c106': 65, 'c125': 81, 'c47': 27, 'c698': 191, 'c49': 28, 'c179': 106, 'c897': 227, 'c881': 218, 'c959': 246, 'c240': 154, 'c254': 161, 'c44': 24, 'c1023': 269, 'c691': 184, 'c70': 43, 'c1089': 299, 'c963': 248, 'c232': 148, 'c1043': 280, 'c224': 141, 'c953': 243, 'c468': 173, 'c1033': 273, 'c1087': 298, 'c252': 159, 'c947': 240, 'c127': 83, 'c901': 231, 'c471': 174, 'c116': 74, 'c1052': 285, 'c126': 82, 'c103': 62, 'c238': 152, 'c201': 120, 'c690': 183, 'c898': 228, 'c226': 143, 'c37': 23, 'c1020': 268, 'c197': 116, 'c883': 220, 'c257': 162, 'c1050': 283, 'c180': 107, 'c153': 97, 'c99': 60, 'c92': 55, 'c231': 147, 'c202': 121, 'c1041': 278, 'c1144': 301, 'c837': 215, 'c951': 242, 'c896': 226, 'c1009': 261, 'c177': 104, 'c220': 138, 'c699': 192, 'c975': 252, 'c281': 171, 'c278': 168, 'c58': 36, 'c97': 58, 'c734': 205, 'c972': 251, 'c680': 176, 'c55': 33, 'c233': 149, 'c1045': 282, 'c704': 196, 'c33': 19, 'c14': 7, 'c777': 211, 'c696': 189, 'c1017': 265, 'c280': 170, 'c1032': 272, 'c46': 26, 'c62': 40, 'c893': 223, 'c142': 91, 'c71': 44, 'c130': 86, 'c230': 146, 'c1069': 290, 'c900': 230, 'c113': 71, 'c241': 155}
|