Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Lo:1995:IBS,
author = "Jack L. Lo and Susan J. Eggers",
title = "Improving balanced scheduling with compiler
optimizations that increase instruction-level
parallelism",
journal = j-SIGPLAN,
volume = "30",
number = "6",
pages = "151--162",
month = jun,
year = "1995",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:06 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/207110/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/207110/p151-lo/",
abstract = "Traditional list schedulers order instructions based
on an optimistic estimate of the load latency imposed
by the hardware and therefore cannot respond to
variations in memory latency caused by cache hits and
misses on non-blocking architectures. In contrast,
balanced scheduling schedules instructions based on an
estimate of the amount of instruction-level parallelism
in the program. By scheduling independent instructions
behind loads based on what the program can provide,
rather than what the implementation stipulates in the
best case (i.e., a cache hit), balanced scheduling can
hide variations in memory latencies more
effectively.\par Since its success depends on the
amount of instruction-level parallelism in the code,
balanced scheduling should perform even better when
more parallelism is available. In this study, we
combine balanced scheduling with three compiler
optimizations that increase instruction-level
parallelism: loop unrolling, trace scheduling and cache
locality analysis. Using code generated for the DEC
Alpha by the Multiflow compiler, we simulated a
non-blocking processor architecture that closely models
the Alpha 21164. Our results show that balanced
scheduling benefits from all three optimizations,
producing average speedups that range from 1.15 to
1.40, across the optimizations. More importantly,
because of its ability to tolerate variations in load
interlocks, it improves its advantage over traditional
scheduling. Without the optimizations, balanced
scheduled code is, on average, 1.05 times faster than
that generated by a traditional scheduler; with them,
its lead increases to 1.18.",
acknowledgement = ack-nhfb,
affiliation = "Dept. of Comput. Sci. and Eng., Washington Univ.,
Seattle, WA, USA",
annote = "Published as part of the Proceedings of PLDI'95.",
classification = "C6120 (File organisation); C6150C (Compilers,
interpreters and other processors); C6150N (Distributed
systems software)",
keywords = "algorithms; Alpha 21164; Average speedups; Balanced
scheduled code; Cache locality analysis; Compiler
optimizations; DEC Alpha; Improved balanced scheduling;
Independent instruction scheduling; Instruction-level
parallelism; languages; List schedulers; Load
interlocks; Loads; Loop unrolling; measurement; Memory
latency variation hiding; Multiflow compiler;
Nonblocking processor architecture; performance;
Program; Trace scheduling",
subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4} Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
D.1.3} Software, PROGRAMMING TECHNIQUES, Concurrent
Programming, Parallel programming. {\bf D.2.8}
Software, SOFTWARE ENGINEERING, Metrics, Performance
measures.",
thesaurus = "Cache storage; Optimising compilers; Processor
scheduling; Resource allocation",
}
Related entries
- ability,
25(6)16,
28(6)13,
28(6)26,
29(6)73,
29(6)186,
29(11)252,
30(3)71,
30(6)67,
30(8)19
- across,
25(6)28,
28(6)126,
28(6)278,
28(7)149,
29(11)25,
29(11)171,
29(11)286,
30(4)39,
30(6)79-1,
30(6)130,
30(8)199
- advantage,
25(6)9,
25(6)296,
26(4)28,
26(4)290,
27(7)116,
27(7)128,
28(6)187,
28(7)102,
29(6)107,
29(6)206,
29(6)266,
29(11)2,
29(11)38,
29(11)61,
29(11)219,
30(3)119,
30(6)79-1,
30(6)205,
30(11)50,
30(11)146-1
- Alpha,
29(6)49,
29(6)196,
29(11)242,
31(9)150
- amount,
25(6)66,
25(6)85-1,
25(6)102,
25(6)272,
25(6)322,
27(7)94,
28(6)197,
28(6)278,
29(6)1,
29(8)94,
29(11)86,
30(3)119,
30(6)218,
33(7)59
- available,
25(6)127-1,
25(6)174,
25(6)209,
27(7)200,
27(7)249,
28(3)209,
28(3)343,
28(3)359,
28(3)367,
28(6)1,
28(6)100,
28(6)300,
29(6)13,
29(6)97,
29(6)186,
29(11)183,
30(6)103,
30(6)186,
30(6)218,
30(8)58,
30(8)134,
30(11)60,
30(11)134,
31(2)6,
33(7)67
- average,
27(7)106,
27(7)322,
28(6)1,
28(6)56,
29(6)49,
29(6)266,
29(11)86,
30(3)1,
30(8)144,
30(8)156
- balanced,
28(6)278,
29(6)107,
29(6)121,
31(9)268
- because,
25(6)66,
25(6)174,
25(6)234,
27(7)140,
27(7)152,
27(7)300,
28(3)69,
28(3)343,
28(3)347,
28(3)365,
28(6)1,
28(6)78-1,
28(6)156,
28(7)54-1,
29(6)13,
29(6)186,
29(6)290,
29(11)25,
29(11)145,
29(11)171,
29(11)252,
29(11)274,
30(6)1,
30(6)103,
30(6)218,
30(11)60
- behind,
28(3)347,
28(3)367,
29(11)274
- benefit,
25(6)66,
25(6)78,
26(2)35,
27(7)106,
27(7)300,
27(7)322,
28(6)177,
29(6)49,
29(11)2,
29(11)12,
29(11)110,
29(11)219,
29(11)308,
30(3)62,
30(4)13,
30(6)13,
30(6)93,
30(6)103,
30(6)246,
30(6)270,
30(8)189,
30(8)217,
32(1)77,
33(10)134
- best,
25(6)16,
25(6)92,
25(6)150,
26(4)28,
27(7)32,
27(7)283,
27(7)331,
28(7)83,
28(10)46,
29(2)44,
29(6)73,
29(11)25,
29(11)171,
29(11)252,
29(11)308,
29(11)328,
30(6)67,
30(6)79-1,
30(6)279,
30(8)123,
30(8)134,
30(11)88,
33(11)252
- better,
25(6)296,
26(1)14,
27(7)44,
27(7)106,
27(7)200,
28(3)69,
28(6)268,
28(6)278,
28(7)179,
28(7)229,
29(6)49,
29(6)97,
29(6)186,
29(6)337,
29(6)337-1,
29(8)59,
29(11)12,
29(11)171,
29(11)308,
29(11)328,
29(12)104,
30(3)23,
30(3)94,
30(6)174,
30(8)189,
30(11)60,
30(11)70,
31(11)21,
31(11)21-1,
33(7)27
- blocking, non-,
27(9)51,
28(6)278
- C6150N,
28(7)23,
28(7)64,
28(7)73,
29(5)41-1,
29(6)36,
29(6)107,
29(8)119,
29(10)113,
29(10)301,
29(11)2,
29(11)12,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)183,
29(11)232,
29(11)286,
29(11)319,
29(11)328,
29(12)48,
29(12)66,
30(3)83,
30(3)103,
30(3)111,
30(6)13,
30(6)23,
30(6)67,
30(6)139,
30(6)163-1,
30(8)1,
30(8)11,
30(8)29,
30(8)39,
30(8)68,
30(8)102,
30(8)134,
30(8)156,
30(8)179,
30(8)189,
30(8)199,
30(8)207,
30(8)217,
30(11)1,
30(11)50,
30(11)60,
30(11)70,
30(11)108,
30(11)134
- cannot,
25(6)92,
25(6)272,
27(7)311,
28(6)278,
28(7)83,
29(6)147,
29(6)218,
29(11)86,
30(3)13,
30(6)67,
30(6)196,
30(6)205,
30(6)218
- case,
6(4)72,
25(6)78,
25(6)296,
25(10)57,
26(4)279,
26(7)201,
27(7)116,
27(7)235,
27(9)262,
27(10)377,
28(3)37,
28(6)187,
28(6)197,
28(7)83,
28(7)169,
29(3)12,
29(6)49,
29(6)107,
29(6)135,
29(6)147,
29(6)218,
29(8)46,
29(9)91,
29(11)76-1,
29(11)219,
29(11)274,
30(3)1,
30(6)67,
30(6)93,
30(6)174,
30(6)186,
30(6)233,
30(8)80-1,
30(8)92,
30(11)31,
30(11)88,
31(5)117,
31(7)4,
31(9)2,
31(9)2-1,
31(10)342,
32(6)34,
32(10)206-1,
33(10)226,
33(10)226-1,
33(11)252,
34(10)340
- caused,
25(6)150,
27(7)116,
28(6)13,
28(7)44,
30(11)7
- closely,
27(7)162,
30(6)291
- combine,
25(6)257,
27(7)249,
29(6)73,
29(6)85,
29(11)308,
30(3)23,
30(8)112,
30(8)144,
30(8)179,
30(11)134,
30(11)146-1
- contrast,
27(7)82,
28(7)239,
29(11)2,
29(11)12,
29(11)38
- D.1.3,
26(6)1,
26(6)130,
27(7)44,
27(7)55,
27(7)200,
28(6)100,
28(6)112,
28(6)248,
29(8)1,
29(8)35,
29(8)119,
30(6)196,
30(6)205,
30(6)218,
30(6)258,
30(11)134,
31(5)79,
31(9)50,
31(9)174,
31(9)186,
31(9)198,
31(9)244-1,
33(5)152-1,
33(5)212,
34(3)57
- D.2.8,
25(6)16,
25(6)28,
26(6)130,
26(6)177-1,
27(7)1,
27(7)12,
27(7)44,
27(7)322,
28(6)177,
28(6)187,
28(6)217,
29(6)73,
29(6)206,
30(6)93,
30(6)130,
30(6)301,
31(9)150,
31(9)174,
32(5)85,
33(5)26-1,
33(5)130,
33(5)199,
33(5)258
- DEC,
31(9)150,
34(2)41
- depend,
27(7)82,
27(7)200,
27(7)212,
27(9)248,
29(6)159,
29(11)25,
29(11)76-1,
29(11)328
- Eggers, Susan J.,
26(4)122,
26(6)229,
27(9)175,
28(6)278,
29(11)328,
30(8)179,
31(5)149,
32(12)163,
34(5)293,
34(5)293-1
- estimate,
25(6)174,
27(9)248,
28(6)278,
29(6)73,
29(6)85,
29(6)121,
29(11)98
- even,
25(6)78,
25(6)112,
27(7)249,
27(9)223,
27(9)262,
28(3)231,
28(3)359,
28(3)361,
28(6)187,
28(6)197,
28(7)44,
28(7)179,
29(6)24,
29(6)49,
29(6)135,
29(6)290,
29(8)74,
29(11)2,
29(11)61,
29(11)76-1,
29(11)242,
29(11)252,
29(11)286,
30(3)62,
30(4)13,
30(6)32,
30(6)218,
30(8)58,
30(8)123,
30(8)199,
30(11)50,
33(7)59
- faster,
25(4)59,
25(6)9,
25(6)66,
25(6)112,
27(1)95,
27(9)285,
29(6)36,
29(6)266,
29(11)252,
29(11)297,
30(3)1,
30(8)39,
30(8)68,
30(8)123,
30(8)217,
31(5)108,
31(6)1
- generated,
25(4)59,
25(6)53,
25(6)189,
25(6)209,
25(12)85,
27(3)71,
27(7)322,
28(3)299,
28(6)26,
28(6)126,
29(6)36,
29(6)257,
29(6)257-1,
29(11)122,
29(11)263,
30(3)23,
30(6)116,
30(6)186,
30(11)60,
34(12)37
- hide,
29(11)308,
30(8)217
- hiding,
29(6)107,
29(10)453,
29(11)308,
30(8)217,
31(9)198
- hit,
28(6)278,
29(11)252,
33(11)252
- i.e.,
25(6)165,
25(6)174,
27(7)1,
27(7)116,
28(6)46,
28(7)13,
29(6)36,
29(6)147,
29(6)218,
29(6)278,
29(6)337,
29(6)337-1,
29(11)171,
30(3)119,
30(11)88
- importantly,
28(8)90
- imposed,
28(6)166,
28(6)278,
30(11)50
- improve,
25(6)53,
25(6)337,
26(6)145,
26(6)177,
26(6)177-1,
27(7)106,
27(7)116,
27(7)162,
27(7)188-1,
27(7)249,
27(9)223,
28(3)201,
28(6)100,
28(6)187,
28(6)268,
28(6)300,
29(6)36,
29(6)49,
29(6)97,
29(6)159,
29(6)206,
29(6)257,
29(6)257-1,
29(11)171,
29(11)208,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
30(6)13,
30(6)56,
30(6)93,
30(6)116,
30(6)174,
30(6)186,
30(6)196,
30(6)205,
30(6)279,
30(8)29,
30(8)80-1,
30(8)166,
30(8)189,
30(8)199,
33(5)97,
33(7)51,
34(5)215
- improved,
26(4)28,
27(7)249,
28(6)26,
28(7)33,
29(11)242,
29(11)252,
30(8)102,
30(8)156,
34(10)325
- improving,
25(6)53,
26(7)133,
27(7)249,
27(9)76,
27(9)223,
28(6)177,
28(7)83,
28(7)129,
29(6)49,
29(6)97,
29(6)257,
29(6)257-1,
29(11)158,
29(11)232,
29(11)242,
29(11)252,
30(6)93,
30(6)174,
31(9)268,
31(9)279,
32(7)252,
33(5)72,
33(5)130,
34(5)229
- increase,
25(6)9,
25(6)53,
25(6)127-1,
27(7)322,
27(9)248,
28(2)21,
28(6)1,
28(6)177,
28(6)237,
28(7)229,
29(6)1,
29(6)159,
29(6)186,
29(6)349,
29(6)349-1,
29(11)2,
29(11)98,
29(11)232,
29(11)242,
29(11)263,
29(11)319,
30(3)13,
30(6)93,
30(8)179,
30(11)134,
34(10)47
- independent,
27(7)152,
28(6)1,
28(6)78-1,
29(4)49,
29(5)17,
29(5)17-1,
29(6)349,
29(6)349-1,
29(11)219,
30(3)111,
30(6)246,
30(8)1,
30(11)31,
33(7)11
- instruction-level,
27(9)248,
30(11)20-1,
30(11)41
- latency,
27(9)51,
28(6)278,
28(7)218,
29(6)107,
29(11)2,
29(11)86,
29(11)98,
29(11)219,
29(11)274,
29(11)308,
29(11)328,
30(6)130,
30(8)48,
30(11)20-1,
31(9)198,
31(9)258
- lead,
24(3)34,
27(7)249,
28(7)44,
29(6)337,
29(6)337-1,
29(8)35,
29(11)274,
30(3)23,
30(3)62,
30(11)70
- level, Instruction-,
30(11)20-1
- level, instruction-,
27(9)248,
30(11)20-1
- list,
25(6)296,
25(12)85,
27(5)z,
27(7)116,
28(3)299,
28(3)359,
28(3)363,
28(6)278,
28(12)169,
29(2)13,
29(3)23,
29(5)31,
30(4)39,
30(8)29,
30(11)7
- load,
25(3)50,
27(7)188-1,
27(9)38,
28(6)100,
28(6)278,
28(7)54-1,
28(7)208,
28(7)249,
29(6)121,
29(11)2,
29(11)183,
29(11)286,
30(8)207,
30(11)70,
31(9)138,
33(5)26,
33(5)26-1
- locality,
25(6)66,
26(6)30,
26(6)177,
26(6)177-1,
27(7)200,
27(9)285,
28(6)112,
28(6)177,
28(6)187,
28(7)239,
28(7)249,
29(4)58,
29(6)206,
29(7)15,
29(11)242,
29(11)252,
29(11)328,
29(12)31,
30(6)205,
30(8)179,
30(8)189,
31(9)60,
31(9)94,
31(9)138,
31(9)279,
33(11)127,
34(5)215
- measure,
25(6)16,
25(6)28,
26(6)130,
26(6)177-1,
27(7)1,
27(7)12,
27(7)44,
27(7)322,
28(6)13,
28(6)177,
28(6)187,
28(6)217,
29(6)73,
29(6)206,
29(11)274,
30(6)23,
30(6)93,
30(6)130,
30(6)301,
30(8)189,
30(11)70,
31(9)150,
31(9)174,
32(5)85,
33(5)26-1,
33(5)130,
33(5)199,
33(5)258
- metric,
6(4)138,
25(2)35,
25(6)16,
25(6)28,
25(8)15,
26(1)124,
26(3)53,
26(5)27,
26(6)130,
26(6)177-1,
26(7)189,
26(8)137,
26(11)197,
27(7)1,
27(7)12,
27(7)44,
27(7)322,
27(12)13,
27(12)20,
27(12)29,
28(6)177,
28(6)187,
28(6)217,
28(8)67,
29(6)73,
29(6)85,
29(6)206,
30(4)36,
30(5)37,
30(6)23,
30(6)93,
30(6)130,
30(6)205,
30(6)301,
31(4)45,
31(9)150,
31(9)174,
31(10)83,
32(2)35,
32(5)85,
33(5)26-1,
33(5)130,
33(5)199,
33(5)258,
34(6)84
- miss,
28(6)177,
28(6)278,
28(6)300,
29(11)12,
29(11)145,
29(11)158,
29(11)274,
29(11)328,
30(6)79-1,
30(6)279,
30(8)179,
30(8)189,
33(5)38,
33(11)228
- non-blocking,
27(9)51,
28(6)278
- nonblocking,
29(11)98
- optimistic,
26(7)155,
27(9)223,
28(3)97,
28(6)278,
30(8)217,
32(7)112,
32(7)112
- order,
25(6)1,
25(6)16,
27(7)12,
27(7)116,
27(7)152,
28(3)299,
28(3)361,
28(6)156,
28(6)237,
28(6)278,
28(6)300,
28(7)119,
29(6)147,
29(6)349,
29(6)349-1,
29(7)15,
29(8)1,
29(8)35,
29(8)59,
29(11)51,
29(11)86,
29(11)263,
30(3)71,
30(3)94,
30(6)116,
30(6)174,
30(6)205,
30(6)233,
30(6)246,
30(8)1,
30(8)144,
30(8)189,
30(8)199,
30(11)20-1,
33(7)51
- perform,
26(6)219,
27(7)12,
27(7)32,
27(7)82,
27(7)200,
28(6)156,
28(6)177,
28(6)237,
28(6)300,
28(8)90,
29(6)49,
29(6)206,
29(11)25,
29(11)145,
29(11)158,
29(11)171,
29(11)319,
30(3)94,
30(6)163-1,
30(6)186,
30(6)205,
30(8)48,
30(8)80-1,
30(8)123,
30(8)217,
30(11)7,
30(11)20-1
- PLDI'95.,
30(6)1,
30(6)13,
30(6)23,
30(6)32,
30(6)47,
30(6)56,
30(6)67,
30(6)79-1,
30(6)93,
30(6)103,
30(6)116,
30(6)130,
30(6)139,
30(6)163-1,
30(6)174,
30(6)186,
30(6)196,
30(6)205,
30(6)218,
30(6)233,
30(6)246,
30(6)258,
30(6)270,
30(6)279,
30(6)291,
30(6)301,
30(6)315
- producing,
25(6)85-1,
28(3)37
- range,
25(6)272,
27(7)1,
27(7)300,
27(7)311,
27(9)238,
28(3)359,
28(6)46,
28(6)100,
28(6)268,
28(6)268-1,
29(6)196,
29(6)257,
29(6)257-1,
29(6)290,
29(10)191,
29(11)2,
29(11)25,
29(11)86,
29(11)145,
29(11)242,
29(11)274,
29(11)297,
30(6)67,
30(6)79-1,
30(6)103,
30(6)270,
30(11)79,
33(7)59
- rather,
25(6)223,
25(6)234,
25(6)272,
25(6)296,
27(9)223,
27(9)285,
28(3)271,
28(3)361,
29(6)135,
29(6)349,
29(6)349-1,
29(8)119,
29(11)86,
29(11)110,
30(3)111,
30(6)13,
30(6)174,
30(11)20-1,
30(11)88,
33(7)19
- respond,
28(6)278
- schedule,
26(7)1,
27(7)200,
28(6)278,
28(7)83,
30(6)139,
30(6)246
- scheduled,
27(7)44,
28(6)290,
30(11)125,
34(5)z,
34(5)z-1
- scheduler,
28(6)248,
28(6)278,
28(7)64,
28(7)64-1,
28(7)169,
29(11)12,
30(8)207,
30(11)134,
32(5)194
- should,
6(4)30,
25(5)95,
25(6)78,
25(6)174,
27(3)24,
27(7)1,
27(7)140,
27(7)311,
28(3)299,
28(6)197,
29(6)206,
29(11)2,
29(11)145,
29(11)219,
30(6)116,
30(6)246,
30(9)17,
30(11)79,
34(7)96
- simulated,
29(4)58,
29(11)196,
29(11)252,
30(6)279
- since,
25(6)189,
25(6)209,
25(6)272,
27(7)106,
27(7)152,
27(7)273,
28(3)37,
28(6)166,
28(6)237,
28(6)278,
29(6)230,
29(6)337,
29(6)337-1,
29(6)349,
29(6)349-1,
29(11)286,
30(3)23,
30(6)218,
30(11)7,
30(11)20-1,
30(11)31,
30(11)88,
33(11)252
- speedup,
17(9)18,
23(1)17,
25(6)53,
25(6)311,
26(4)28,
28(6)36,
28(7)83,
28(7)218,
29(11)183,
30(4)29,
30(6)218,
30(8)48,
30(8)112,
30(8)179,
30(11)125,
33(11)252
- success,
27(7)152,
28(3)231,
31(12)18
- therefore,
25(6)174,
25(6)246,
27(7)1,
27(7)55,
27(9)223,
28(6)278,
28(7)13,
29(6)206,
29(6)278,
29(11)12,
29(11)145,
30(6)32,
30(6)93
- three,
26(4)28,
27(7)22,
27(7)44,
27(7)200,
27(7)212,
28(6)13,
28(6)237,
28(7)33,
28(7)187,
28(7)198,
29(6)1,
29(6)186,
29(8)46,
29(11)61,
29(11)98,
29(11)286,
29(11)297,
30(3)83,
30(3)94,
30(4)29,
30(8)68,
30(8)80-1,
30(11)50,
30(11)117
- tolerate,
29(11)328
- trace,
28(3)231,
29(6)313,
29(11)132-1,
29(11)145
- traditional,
27(7)12,
28(3)177,
28(6)68,
28(6)100,
28(6)139-1,
28(6)278,
29(1)53,
29(6)206,
29(6)302,
29(6)349,
29(6)349-1,
29(11)2,
29(11)12,
29(11)76-1,
29(11)319,
30(6)258,
30(8)217,
30(11)1,
30(11)60,
30(11)70
- unrolling,
26(4)28,
28(6)68,
29(12)25
- variation,
28(3)149,
28(5)29,
28(6)278,
29(11)286,
29(11)328
- what,
6(4)30,
25(6)112,
25(6)311,
25(6)322,
27(7)1,
27(10)77,
27(10)91,
28(3)69,
28(7)187,
29(6)97,
29(8)1,
30(9)33,
30(9)33,
31(6)92,
33(7)19,
33(10)341,
34(2)26,
34(2)26-1,
34(5)50,
34(11)73
- when,
24(3)34,
25(6)40,
25(6)66,
25(6)78,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)174,
25(6)223,
25(10)181,
27(7)1,
27(7)116,
27(7)188-1,
27(7)235,
27(7)311,
27(7)322,
27(9)285,
28(3)97,
28(3)361,
28(6)56,
28(6)100,
28(6)147,
28(6)187,
28(6)258,
28(6)278,
28(7)44,
28(7)83,
28(7)239,
28(8)90,
28(12)169,
29(6)1,
29(6)49,
29(6)85,
29(6)206,
29(11)2,
29(11)86,
29(11)145,
29(11)171,
29(11)242,
29(11)252,
30(3)23,
30(3)94,
30(6)1,
30(6)56,
30(6)93,
30(6)103,
30(6)279,
30(8)123,
30(8)179,
30(8)189,
30(8)199,
31(5)108,
32(3)27,
32(3)27-1,
33(2)59,
33(7)19,
33(7)27,
33(7)67,
34(9)1