View | Details | Raw Unified | Return to bug 169017 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse Java Tests Compiler/org/eclipse/jdt/tests/compiler/regression/ConformTest.java (-99 / +207 lines)
Lines 21-26 Link Here
21
import org.eclipse.jdt.core.tests.compiler.regression.*;
21
import org.eclipse.jdt.core.tests.compiler.regression.*;
22
import org.eclipse.jdt.core.tests.util.Util;
22
import org.eclipse.jdt.core.tests.util.Util;
23
import org.eclipse.jdt.core.util.ClassFileBytesDisassembler;
23
import org.eclipse.jdt.core.util.ClassFileBytesDisassembler;
24
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
24
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader;
25
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader;
25
import org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException;
26
import org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException;
26
import org.eclipse.jdt.internal.compiler.env.IBinaryField;
27
import org.eclipse.jdt.internal.compiler.env.IBinaryField;
Lines 6543-6647 Link Here
6543
		options,
6544
		options,
6544
		null); // custom requestor
6545
		null); // custom requestor
6545
	
6546
	
6546
	String expectedOutput =
6547
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
6547
		"  // Method descriptor #15 (Z)V\n" + 
6548
	String expectedOutput = compilerOptions.targetJDK <= ClassFileConstants.JDK1_5 ?
6548
		"  // Stack: 4, Locals: 8\n" + 
6549
			"  // Method descriptor #15 (Z)V\n" + 
6549
		"  private void foo(boolean delete);\n" + 
6550
			"  // Stack: 4, Locals: 8\n" + 
6550
		"     0  aload_0 [this]\n" + 
6551
			"  private void foo(boolean delete);\n" + 
6551
		"     1  invokevirtual X.bar() : java.lang.String [16]\n" + 
6552
			"     0  aload_0 [this]\n" + 
6552
		"     4  astore_2 [s]\n" + 
6553
			"     1  invokevirtual X.bar() : java.lang.String [16]\n" + 
6553
		"     5  new java.lang.StringBuffer [20]\n" + 
6554
			"     4  astore_2 [s]\n" + 
6554
		"     8  dup\n" + 
6555
			"     5  new java.lang.StringBuffer [20]\n" + 
6555
		"     9  invokespecial java.lang.StringBuffer() [22]\n" + 
6556
			"     8  dup\n" + 
6556
		"    12  astore_3 [buffer]\n" + 
6557
			"     9  invokespecial java.lang.StringBuffer() [22]\n" + 
6557
		"    13  iconst_1\n" + 
6558
			"    12  astore_3 [buffer]\n" + 
6558
		"    14  anewarray java.lang.String [23]\n" + 
6559
			"    13  iconst_1\n" + 
6559
		"    17  dup\n" + 
6560
			"    14  anewarray java.lang.String [23]\n" + 
6560
		"    18  iconst_0\n" + 
6561
			"    17  dup\n" + 
6561
		"    19  ldc <String \"\"> [25]\n" + 
6562
			"    18  iconst_0\n" + 
6562
		"    21  aastore\n" + 
6563
			"    19  ldc <String \"\"> [25]\n" + 
6563
		"    22  astore 4 [datas]\n" + 
6564
			"    21  aastore\n" + 
6564
		"    24  iconst_1\n" + 
6565
			"    22  astore 4 [datas]\n" + 
6565
		"    25  anewarray java.lang.Object [3]\n" + 
6566
			"    24  iconst_1\n" + 
6566
		"    28  dup\n" + 
6567
			"    25  anewarray java.lang.Object [3]\n" + 
6567
		"    29  iconst_0\n" + 
6568
			"    28  dup\n" + 
6568
		"    30  aload_2 [s]\n" + 
6569
			"    29  iconst_0\n" + 
6569
		"    31  aastore\n" + 
6570
			"    30  aload_2 [s]\n" + 
6570
		"    32  astore 5 [data]\n" + 
6571
			"    31  aastore\n" + 
6571
		"    34  aload_3 [buffer]\n" + 
6572
			"    32  astore 5 [data]\n" + 
6572
		"    35  aload 4 [datas]\n" + 
6573
			"    34  aload_3 [buffer]\n" + 
6573
		"    37  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6574
			"    35  aload 4 [datas]\n" + 
6574
		"    40  aload 5 [data]\n" + 
6575
			"    37  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6575
		"    42  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6576
			"    40  aload 5 [data]\n" + 
6576
		"    45  pop\n" + 
6577
			"    42  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6577
		"    46  goto 62\n" + 
6578
			"    45  pop\n" + 
6578
		"    49  astore 6 [e]\n" + 
6579
			"    46  goto 62\n" + 
6579
		"    51  aload 6 [e]\n" + 
6580
			"    49  astore 6 [e]\n" + 
6580
		"    53  ifnull 59\n" + 
6581
			"    51  aload 6 [e]\n" + 
6581
		"    56  aload 6 [e]\n" + 
6582
			"    53  ifnull 59\n" + 
6582
		"    58  athrow\n" + 
6583
			"    56  aload 6 [e]\n" + 
6583
		"    59  aconst_null\n" + 
6584
			"    58  athrow\n" + 
6584
		"    60  astore_3 [buffer]\n" + 
6585
			"    59  aconst_null\n" + 
6585
		"    61  return\n" + 
6586
			"    60  astore_3 [buffer]\n" + 
6586
		"    62  iload_1 [delete]\n" + 
6587
			"    61  return\n" + 
6587
		"    63  ifeq 91\n" + 
6588
			"    62  iload_1 [delete]\n" + 
6588
		"    66  aload_3 [buffer]\n" + 
6589
			"    63  ifeq 91\n" + 
6589
		"    67  iconst_0\n" + 
6590
			"    66  aload_3 [buffer]\n" + 
6590
		"    68  aload_3 [buffer]\n" + 
6591
			"    67  iconst_0\n" + 
6591
		"    69  invokevirtual java.lang.StringBuffer.length() : int [31]\n" + 
6592
			"    68  aload_3 [buffer]\n" + 
6592
		"    72  invokevirtual java.lang.StringBuffer.delete(int, int) : java.lang.StringBuffer [35]\n" + 
6593
			"    69  invokevirtual java.lang.StringBuffer.length() : int [31]\n" + 
6593
		"    75  pop\n" + 
6594
			"    72  invokevirtual java.lang.StringBuffer.delete(int, int) : java.lang.StringBuffer [35]\n" + 
6594
		"    76  goto 91\n" + 
6595
			"    75  pop\n" + 
6595
		"    79  astore 4\n" + 
6596
			"    76  goto 91\n" + 
6596
		"    81  goto 96\n" + 
6597
			"    79  astore 4\n" + 
6597
		"    84  astore 7\n" + 
6598
			"    81  goto 96\n" + 
6598
		"    86  aconst_null\n" + 
6599
			"    84  astore 7\n" + 
6599
		"    87  astore_3 [buffer]\n" + 
6600
			"    86  aconst_null\n" + 
6600
		"    88  aload 7\n" + 
6601
			"    87  astore_3 [buffer]\n" + 
6601
		"    90  athrow\n" + 
6602
			"    88  aload 7\n" + 
6602
		"    91  aconst_null\n" + 
6603
			"    90  athrow\n" + 
6603
		"    92  astore_3 [buffer]\n" + 
6604
			"    91  aconst_null\n" + 
6604
		"    93  goto 98\n" + 
6605
			"    92  astore_3 [buffer]\n" + 
6605
		"    96  aconst_null\n" + 
6606
			"    93  goto 98\n" + 
6606
		"    97  astore_3 [buffer]\n" + 
6607
			"    96  aconst_null\n" + 
6607
		"    98  return\n" + 
6608
			"    97  astore_3 [buffer]\n" + 
6608
		"      Exception Table:\n" + 
6609
			"    98  return\n" + 
6609
		"        [pc: 34, pc: 46] -> 49 when : java.lang.Exception\n" + 
6610
			"      Exception Table:\n" + 
6610
		"        [pc: 13, pc: 59] -> 79 when : java.lang.Exception\n" + 
6611
			"        [pc: 34, pc: 46] -> 49 when : java.lang.Exception\n" + 
6611
		"        [pc: 62, pc: 76] -> 79 when : java.lang.Exception\n" + 
6612
			"        [pc: 13, pc: 59] -> 79 when : java.lang.Exception\n" + 
6612
		"        [pc: 13, pc: 59] -> 84 when : any\n" + 
6613
			"        [pc: 62, pc: 76] -> 79 when : java.lang.Exception\n" + 
6613
		"        [pc: 62, pc: 84] -> 84 when : any\n" + 
6614
			"        [pc: 13, pc: 59] -> 84 when : any\n" + 
6614
		"      Line numbers:\n" + 
6615
			"        [pc: 62, pc: 84] -> 84 when : any\n" + 
6615
		"        [pc: 0, line: 4]\n" + 
6616
			"      Line numbers:\n" + 
6616
		"        [pc: 5, line: 5]\n" + 
6617
			"        [pc: 0, line: 4]\n" + 
6617
		"        [pc: 13, line: 9]\n" + 
6618
			"        [pc: 5, line: 5]\n" + 
6618
		"        [pc: 24, line: 10]\n" + 
6619
			"        [pc: 13, line: 9]\n" + 
6619
		"        [pc: 34, line: 12]\n" + 
6620
			"        [pc: 24, line: 10]\n" + 
6620
		"        [pc: 49, line: 13]\n" + 
6621
			"        [pc: 34, line: 12]\n" + 
6621
		"        [pc: 51, line: 14]\n" + 
6622
			"        [pc: 49, line: 13]\n" + 
6622
		"        [pc: 56, line: 15]\n" + 
6623
			"        [pc: 51, line: 14]\n" + 
6623
		"        [pc: 59, line: 24]\n" + 
6624
			"        [pc: 56, line: 15]\n" + 
6624
		"        [pc: 61, line: 16]\n" + 
6625
			"        [pc: 59, line: 24]\n" + 
6625
		"        [pc: 62, line: 19]\n" + 
6626
			"        [pc: 61, line: 16]\n" + 
6626
		"        [pc: 66, line: 20]\n" + 
6627
			"        [pc: 62, line: 19]\n" + 
6627
		"        [pc: 79, line: 22]\n" + 
6628
			"        [pc: 66, line: 20]\n" + 
6628
		"        [pc: 84, line: 23]\n" + 
6629
			"        [pc: 79, line: 22]\n" + 
6629
		"        [pc: 86, line: 24]\n" + 
6630
			"        [pc: 84, line: 23]\n" + 
6630
		"        [pc: 88, line: 25]\n" + 
6631
			"        [pc: 86, line: 24]\n" + 
6631
		"        [pc: 91, line: 24]\n" + 
6632
			"        [pc: 88, line: 25]\n" + 
6632
		"        [pc: 93, line: 25]\n" + 
6633
			"        [pc: 91, line: 24]\n" + 
6633
		"        [pc: 96, line: 24]\n" + 
6634
			"        [pc: 93, line: 25]\n" + 
6634
		"        [pc: 98, line: 26]\n" + 
6635
			"        [pc: 96, line: 24]\n" + 
6635
		"      Local variable table:\n" + 
6636
			"        [pc: 98, line: 26]\n" + 
6636
		"        [pc: 0, pc: 99] local: this index: 0 type: X\n" + 
6637
			"      Local variable table:\n" + 
6637
		"        [pc: 0, pc: 99] local: delete index: 1 type: boolean\n" + 
6638
			"        [pc: 0, pc: 99] local: this index: 0 type: X\n" + 
6638
		"        [pc: 5, pc: 99] local: s index: 2 type: java.lang.String\n" + 
6639
			"        [pc: 0, pc: 99] local: delete index: 1 type: boolean\n" + 
6639
		"        [pc: 13, pc: 99] local: buffer index: 3 type: java.lang.StringBuffer\n" + 
6640
			"        [pc: 5, pc: 99] local: s index: 2 type: java.lang.String\n" + 
6640
		"        [pc: 24, pc: 59] local: datas index: 4 type: java.lang.String[]\n" + 
6641
			"        [pc: 13, pc: 99] local: buffer index: 3 type: java.lang.StringBuffer\n" + 
6641
		"        [pc: 62, pc: 79] local: datas index: 4 type: java.lang.String[]\n" + 
6642
			"        [pc: 24, pc: 59] local: datas index: 4 type: java.lang.String[]\n" + 
6642
		"        [pc: 34, pc: 59] local: data index: 5 type: java.lang.Object[]\n" + 
6643
			"        [pc: 62, pc: 79] local: datas index: 4 type: java.lang.String[]\n" + 
6643
		"        [pc: 62, pc: 79] local: data index: 5 type: java.lang.Object[]\n" + 
6644
			"        [pc: 34, pc: 59] local: data index: 5 type: java.lang.Object[]\n" + 
6644
		"        [pc: 51, pc: 59] local: e index: 6 type: java.lang.Exception\n";
6645
			"        [pc: 62, pc: 79] local: data index: 5 type: java.lang.Object[]\n" + 
6646
			"        [pc: 51, pc: 59] local: e index: 6 type: java.lang.Exception\n"
6647
		:	"  // Method descriptor #15 (Z)V\n" + 
6648
			"  // Stack: 4, Locals: 8\n" + 
6649
			"  private void foo(boolean delete);\n" + 
6650
			"     0  aload_0 [this]\n" + 
6651
			"     1  invokevirtual X.bar() : java.lang.String [16]\n" + 
6652
			"     4  astore_2 [s]\n" + 
6653
			"     5  new java.lang.StringBuffer [20]\n" + 
6654
			"     8  dup\n" + 
6655
			"     9  invokespecial java.lang.StringBuffer() [22]\n" + 
6656
			"    12  astore_3 [buffer]\n" + 
6657
			"    13  iconst_1\n" + 
6658
			"    14  anewarray java.lang.String [23]\n" + 
6659
			"    17  dup\n" + 
6660
			"    18  iconst_0\n" + 
6661
			"    19  ldc <String \"\"> [25]\n" + 
6662
			"    21  aastore\n" + 
6663
			"    22  astore 4 [datas]\n" + 
6664
			"    24  iconst_1\n" + 
6665
			"    25  anewarray java.lang.Object [3]\n" + 
6666
			"    28  dup\n" + 
6667
			"    29  iconst_0\n" + 
6668
			"    30  aload_2 [s]\n" + 
6669
			"    31  aastore\n" + 
6670
			"    32  astore 5 [data]\n" + 
6671
			"    34  aload_3 [buffer]\n" + 
6672
			"    35  aload 4 [datas]\n" + 
6673
			"    37  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6674
			"    40  aload 5 [data]\n" + 
6675
			"    42  invokevirtual java.lang.StringBuffer.append(java.lang.Object) : java.lang.StringBuffer [27]\n" + 
6676
			"    45  pop\n" + 
6677
			"    46  goto 62\n" + 
6678
			"    49  astore 6 [e]\n" + 
6679
			"    51  aload 6 [e]\n" + 
6680
			"    53  ifnull 59\n" + 
6681
			"    56  aload 6 [e]\n" + 
6682
			"    58  athrow\n" + 
6683
			"    59  aconst_null\n" + 
6684
			"    60  astore_3 [buffer]\n" + 
6685
			"    61  return\n" + 
6686
			"    62  iload_1 [delete]\n" + 
6687
			"    63  ifeq 91\n" + 
6688
			"    66  aload_3 [buffer]\n" + 
6689
			"    67  iconst_0\n" + 
6690
			"    68  aload_3 [buffer]\n" + 
6691
			"    69  invokevirtual java.lang.StringBuffer.length() : int [31]\n" + 
6692
			"    72  invokevirtual java.lang.StringBuffer.delete(int, int) : java.lang.StringBuffer [35]\n" + 
6693
			"    75  pop\n" + 
6694
			"    76  goto 91\n" + 
6695
			"    79  astore 4\n" + 
6696
			"    81  goto 96\n" + 
6697
			"    84  astore 7\n" + 
6698
			"    86  aconst_null\n" + 
6699
			"    87  astore_3 [buffer]\n" + 
6700
			"    88  aload 7\n" + 
6701
			"    90  athrow\n" + 
6702
			"    91  aconst_null\n" + 
6703
			"    92  astore_3 [buffer]\n" + 
6704
			"    93  goto 98\n" + 
6705
			"    96  aconst_null\n" + 
6706
			"    97  astore_3 [buffer]\n" + 
6707
			"    98  return\n" + 
6708
			"      Exception Table:\n" + 
6709
			"        [pc: 34, pc: 46] -> 49 when : java.lang.Exception\n" + 
6710
			"        [pc: 13, pc: 59] -> 79 when : java.lang.Exception\n" + 
6711
			"        [pc: 62, pc: 76] -> 79 when : java.lang.Exception\n" + 
6712
			"        [pc: 13, pc: 59] -> 84 when : any\n" + 
6713
			"        [pc: 62, pc: 84] -> 84 when : any\n" + 
6714
			"      Line numbers:\n" + 
6715
			"        [pc: 0, line: 4]\n" + 
6716
			"        [pc: 5, line: 5]\n" + 
6717
			"        [pc: 13, line: 9]\n" + 
6718
			"        [pc: 24, line: 10]\n" + 
6719
			"        [pc: 34, line: 12]\n" + 
6720
			"        [pc: 49, line: 13]\n" + 
6721
			"        [pc: 51, line: 14]\n" + 
6722
			"        [pc: 56, line: 15]\n" + 
6723
			"        [pc: 59, line: 24]\n" + 
6724
			"        [pc: 61, line: 16]\n" + 
6725
			"        [pc: 62, line: 19]\n" + 
6726
			"        [pc: 66, line: 20]\n" + 
6727
			"        [pc: 79, line: 22]\n" + 
6728
			"        [pc: 84, line: 23]\n" + 
6729
			"        [pc: 86, line: 24]\n" + 
6730
			"        [pc: 88, line: 25]\n" + 
6731
			"        [pc: 91, line: 24]\n" + 
6732
			"        [pc: 93, line: 25]\n" + 
6733
			"        [pc: 96, line: 24]\n" + 
6734
			"        [pc: 98, line: 26]\n" + 
6735
			"      Local variable table:\n" + 
6736
			"        [pc: 0, pc: 99] local: this index: 0 type: X\n" + 
6737
			"        [pc: 0, pc: 99] local: delete index: 1 type: boolean\n" + 
6738
			"        [pc: 5, pc: 99] local: s index: 2 type: java.lang.String\n" + 
6739
			"        [pc: 13, pc: 99] local: buffer index: 3 type: java.lang.StringBuffer\n" + 
6740
			"        [pc: 24, pc: 79] local: datas index: 4 type: java.lang.String[]\n" + 
6741
			"        [pc: 34, pc: 79] local: data index: 5 type: java.lang.Object[]\n" + 
6742
			"        [pc: 51, pc: 62] local: e index: 6 type: java.lang.Exception\n" + 
6743
			"      Stack map table: number of frames 9\n" + 
6744
			"        [pc: 49, full, stack: {java.lang.Exception}, locals: {X, int, java.lang.String, java.lang.StringBuffer, java.lang.String[], java.lang.Object[]}]\n" + 
6745
			"        [pc: 59, append: {java.lang.Exception}]\n" + 
6746
			"        [pc: 62, chop 1 local(s)]\n" + 
6747
			"        [pc: 76, chop 2 local(s)]\n" + 
6748
			"        [pc: 79, same_locals_1_stack_item, stack: {java.lang.Exception}]\n" + 
6749
			"        [pc: 84, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n" + 
6750
			"        [pc: 91, same]\n" + 
6751
			"        [pc: 96, same]\n" + 
6752
			"        [pc: 98, same]\n";
6645
6753
6646
	try {
6754
	try {
6647
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
6755
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
(-)src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java (-315 / +786 lines)
Lines 25-31 Link Here
25
	
25
	
26
static {
26
static {
27
//	TESTS_NAMES = new String[] { "test000" };
27
//	TESTS_NAMES = new String[] { "test000" };
28
//	TESTS_NUMBERS = new int[] { 34 };
28
//	TESTS_NUMBERS = new int[] { 41, 43, 44, 45, 46 };
29
//	TESTS_RANGE = new int[] { 11, -1 };
29
//	TESTS_RANGE = new int[] { 11, -1 };
30
}
30
}
31
public TryStatementTest(String name) {
31
public TryStatementTest(String name) {
Lines 1924-1937 Link Here
1924
			},
1924
			},
1925
			"done");
1925
			"done");
1926
	
1926
	
1927
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
1927
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
1928
	String expectedOutput = !compilerOptions.inlineJsrBytecode
1928
		?	"  // Method descriptor #15 (Z)V\n" + 
1929
		?	"  // Method descriptor #15 (Z)V\n" + 
1930
			"  // Stack: 2, Locals: 5\n" + 
1931
			"  public void foo(boolean b);\n" + 
1932
			"     0  iload_1 [b]\n" + 
1933
			"     1  ifeq 10\n" + 
1934
			"     4  iconst_0\n" + 
1935
			"     5  istore_2 [i]\n" + 
1936
			"     6  jsr 23\n" + 
1937
			"     9  return\n" + 
1938
			"    10  aconst_null\n" + 
1939
			"    11  astore_2 [o]\n" + 
1940
			"    12  goto 6\n" + 
1941
			"    15  astore 4\n" + 
1942
			"    17  jsr 23\n" + 
1943
			"    20  aload 4\n" + 
1944
			"    22  athrow\n" + 
1945
			"    23  astore_3\n" + 
1946
			"    24  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1947
			"    27  ldc <String \"done\"> [22]\n" + 
1948
			"    29  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
1949
			"    32  ret 3\n" + 
1950
			"      Exception Table:\n" + 
1951
			"        [pc: 0, pc: 9] -> 15 when : any\n" + 
1952
			"        [pc: 10, pc: 15] -> 15 when : any\n" + 
1953
			"      Line numbers:\n" + 
1954
			"        [pc: 0, line: 4]\n" + 
1955
			"        [pc: 4, line: 5]\n" + 
1956
			"        [pc: 6, line: 6]\n" + 
1957
			"        [pc: 10, line: 8]\n" + 
1958
			"        [pc: 12, line: 9]\n" + 
1959
			"        [pc: 15, line: 11]\n" + 
1960
			"        [pc: 20, line: 13]\n" + 
1961
			"        [pc: 23, line: 11]\n" + 
1962
			"        [pc: 24, line: 12]\n" + 
1963
			"        [pc: 32, line: 13]\n" + 
1964
			"      Local variable table:\n" + 
1965
			"        [pc: 0, pc: 34] local: this index: 0 type: X\n" + 
1966
			"        [pc: 0, pc: 34] local: b index: 1 type: boolean\n" + 
1967
			"        [pc: 6, pc: 10] local: i index: 2 type: int\n" + 
1968
			"        [pc: 12, pc: 15] local: o index: 2 type: java.lang.Object\n"
1969
	: 		null;
1970
	if (expectedOutput == null) {
1971
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
1972
			expectedOutput = "  // Method descriptor #15 (Z)V\n" + 
1929
			"  // Stack: 2, Locals: 4\n" + 
1973
			"  // Stack: 2, Locals: 4\n" + 
1930
			"  public void foo(boolean b);\n" + 
1974
			"  public void foo(boolean b);\n" + 
1931
			"     0  iload_1 [b]\n" + 
1975
			"     0  iload_1 [b]\n" + 
1932
			"     1  ifeq 15\n" + 
1976
			"     1  ifeq 15\n" + 
1933
			"     4  iconst_0\n" + 
1977
			"     4  iconst_0\n" + 
1934
			"     5  istore_2\n" + 
1978
			"     5  istore_2 [i]\n" + 
1935
			"     6  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1979
			"     6  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1936
			"     9  ldc <String \"done\"> [22]\n" + 
1980
			"     9  ldc <String \"done\"> [22]\n" + 
1937
			"    11  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
1981
			"    11  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
Lines 1961-2007 Link Here
1961
			"      Local variable table:\n" + 
2005
			"      Local variable table:\n" + 
1962
			"        [pc: 0, pc: 31] local: this index: 0 type: X\n" + 
2006
			"        [pc: 0, pc: 31] local: this index: 0 type: X\n" + 
1963
			"        [pc: 0, pc: 31] local: b index: 1 type: boolean\n" + 
2007
			"        [pc: 0, pc: 31] local: b index: 1 type: boolean\n" + 
1964
			"        [pc: 17, pc: 20] local: o index: 2 type: java.lang.Object\n"
2008
			"        [pc: 6, pc: 15] local: i index: 2 type: int\n" + 
1965
	: 		"  // Method descriptor #15 (Z)V\n" + 
2009
			"        [pc: 17, pc: 20] local: o index: 2 type: java.lang.Object\n";
1966
			"  // Stack: 2, Locals: 5\n" + 
2010
		} else {
2011
			expectedOutput = "  // Method descriptor #15 (Z)V\n" + 
2012
			"  // Stack: 2, Locals: 4\n" + 
1967
			"  public void foo(boolean b);\n" + 
2013
			"  public void foo(boolean b);\n" + 
1968
			"     0  iload_1 [b]\n" + 
2014
			"     0  iload_1 [b]\n" + 
1969
			"     1  ifeq 10\n" + 
2015
			"     1  ifeq 15\n" + 
1970
			"     4  iconst_0\n" + 
2016
			"     4  iconst_0\n" + 
1971
			"     5  istore_2 [i]\n" + 
2017
			"     5  istore_2 [i]\n" + 
1972
			"     6  jsr 23\n" + 
2018
			"     6  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1973
			"     9  return\n" + 
2019
			"     9  ldc <String \"done\"> [22]\n" + 
1974
			"    10  aconst_null\n" + 
2020
			"    11  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
1975
			"    11  astore_2 [o]\n" + 
2021
			"    14  return\n" + 
1976
			"    12  goto 6\n" + 
2022
			"    15  aconst_null\n" + 
1977
			"    15  astore 4\n" + 
2023
			"    16  astore_2 [o]\n" + 
1978
			"    17  jsr 23\n" + 
2024
			"    17  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1979
			"    20  aload 4\n" + 
2025
			"    20  ldc <String \"done\"> [22]\n" + 
1980
			"    22  athrow\n" + 
2026
			"    22  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
1981
			"    23  astore_3\n" + 
2027
			"    25  return\n" + 
1982
			"    24  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2028
			"    26  astore_3\n" + 
1983
			"    27  ldc <String \"done\"> [22]\n" + 
2029
			"    27  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
1984
			"    29  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2030
			"    30  ldc <String \"done\"> [22]\n" + 
1985
			"    32  ret 3\n" + 
2031
			"    32  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2032
			"    35  aload_3\n" + 
2033
			"    36  athrow\n" + 
1986
			"      Exception Table:\n" + 
2034
			"      Exception Table:\n" + 
1987
			"        [pc: 0, pc: 9] -> 15 when : any\n" + 
2035
			"        [pc: 0, pc: 6] -> 26 when : any\n" + 
1988
			"        [pc: 10, pc: 15] -> 15 when : any\n" + 
2036
			"        [pc: 15, pc: 17] -> 26 when : any\n" + 
1989
			"      Line numbers:\n" + 
2037
			"      Line numbers:\n" + 
1990
			"        [pc: 0, line: 4]\n" + 
2038
			"        [pc: 0, line: 4]\n" + 
1991
			"        [pc: 4, line: 5]\n" + 
2039
			"        [pc: 4, line: 5]\n" + 
1992
			"        [pc: 6, line: 6]\n" + 
2040
			"        [pc: 6, line: 12]\n" + 
1993
			"        [pc: 10, line: 8]\n" + 
2041
			"        [pc: 14, line: 6]\n" + 
1994
			"        [pc: 12, line: 9]\n" + 
2042
			"        [pc: 15, line: 8]\n" + 
1995
			"        [pc: 15, line: 11]\n" + 
2043
			"        [pc: 17, line: 12]\n" + 
1996
			"        [pc: 20, line: 13]\n" + 
2044
			"        [pc: 25, line: 9]\n" + 
1997
			"        [pc: 23, line: 11]\n" + 
2045
			"        [pc: 26, line: 11]\n" + 
1998
			"        [pc: 24, line: 12]\n" + 
2046
			"        [pc: 27, line: 12]\n" + 
1999
			"        [pc: 32, line: 13]\n" + 
2047
			"        [pc: 35, line: 13]\n" + 
2000
			"      Local variable table:\n" + 
2048
			"      Local variable table:\n" + 
2001
			"        [pc: 0, pc: 34] local: this index: 0 type: X\n" + 
2049
			"        [pc: 0, pc: 37] local: this index: 0 type: X\n" + 
2002
			"        [pc: 0, pc: 34] local: b index: 1 type: boolean\n" + 
2050
			"        [pc: 0, pc: 37] local: b index: 1 type: boolean\n" + 
2003
			"        [pc: 6, pc: 10] local: i index: 2 type: int\n" + 
2051
			"        [pc: 6, pc: 15] local: i index: 2 type: int\n" + 
2004
			"        [pc: 12, pc: 15] local: o index: 2 type: java.lang.Object\n";
2052
			"        [pc: 17, pc: 26] local: o index: 2 type: java.lang.Object\n" + 
2053
			"      Stack map table: number of frames 2\n" + 
2054
			"        [pc: 15, same]\n" + 
2055
			"        [pc: 26, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n";
2056
		}
2057
	}
2005
2058
2006
	try {
2059
	try {
2007
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
2060
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
Lines 2044-2055 Link Here
2044
			},
2097
			},
2045
			"done");
2098
			"done");
2046
	
2099
	
2047
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
2100
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
2101
	String expectedOutput = !compilerOptions.inlineJsrBytecode
2048
		?	"  // Method descriptor #15 (Z)V\n" + 
2102
		?	"  // Method descriptor #15 (Z)V\n" + 
2103
			"  // Stack: 2, Locals: 5\n" + 
2104
			"  public void foo(boolean b);\n" + 
2105
			"     0  iconst_0\n" + 
2106
			"     1  istore_2 [i]\n" + 
2107
			"     2  jsr 18\n" + 
2108
			"     5  return\n" + 
2109
			"     6  astore_2 [e]\n" + 
2110
			"     7  goto 2\n" + 
2111
			"    10  astore 4\n" + 
2112
			"    12  jsr 18\n" + 
2113
			"    15  aload 4\n" + 
2114
			"    17  athrow\n" + 
2115
			"    18  astore_3\n" + 
2116
			"    19  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2117
			"    22  ldc <String \"done\"> [22]\n" + 
2118
			"    24  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2119
			"    27  ret 3\n" + 
2120
			"      Exception Table:\n" + 
2121
			"        [pc: 0, pc: 5] -> 6 when : java.lang.Exception\n" + 
2122
			"        [pc: 0, pc: 5] -> 10 when : any\n" + 
2123
			"        [pc: 6, pc: 10] -> 10 when : any\n" + 
2124
			"      Line numbers:\n" + 
2125
			"        [pc: 0, line: 4]\n" + 
2126
			"        [pc: 2, line: 5]\n" + 
2127
			"        [pc: 6, line: 6]\n" + 
2128
			"        [pc: 7, line: 7]\n" + 
2129
			"        [pc: 10, line: 8]\n" + 
2130
			"        [pc: 15, line: 10]\n" + 
2131
			"        [pc: 18, line: 8]\n" + 
2132
			"        [pc: 19, line: 9]\n" + 
2133
			"        [pc: 27, line: 10]\n" + 
2134
			"      Local variable table:\n" + 
2135
			"        [pc: 0, pc: 29] local: this index: 0 type: X\n" + 
2136
			"        [pc: 0, pc: 29] local: b index: 1 type: boolean\n" + 
2137
			"        [pc: 2, pc: 6] local: i index: 2 type: int\n" + 
2138
			"        [pc: 7, pc: 10] local: e index: 2 type: java.lang.Exception\n"
2139
		: null;
2140
	if (expectedOutput == null) {
2141
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
2142
			expectedOutput = "  // Method descriptor #15 (Z)V\n" + 
2049
			"  // Stack: 2, Locals: 4\n" + 
2143
			"  // Stack: 2, Locals: 4\n" + 
2050
			"  public void foo(boolean b);\n" + 
2144
			"  public void foo(boolean b);\n" + 
2051
			"     0  iconst_0\n" + 
2145
			"     0  iconst_0\n" + 
2052
			"     1  istore_2\n" + 
2146
			"     1  istore_2 [i]\n" + 
2053
			"     2  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2147
			"     2  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2054
			"     5  ldc <String \"done\"> [22]\n" + 
2148
			"     5  ldc <String \"done\"> [22]\n" + 
2055
			"     7  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2149
			"     7  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
Lines 2078-2121 Link Here
2078
			"      Local variable table:\n" + 
2172
			"      Local variable table:\n" + 
2079
			"        [pc: 0, pc: 26] local: this index: 0 type: X\n" + 
2173
			"        [pc: 0, pc: 26] local: this index: 0 type: X\n" + 
2080
			"        [pc: 0, pc: 26] local: b index: 1 type: boolean\n" + 
2174
			"        [pc: 0, pc: 26] local: b index: 1 type: boolean\n" + 
2081
			"        [pc: 12, pc: 15] local: e index: 2 type: java.lang.Exception\n"
2175
			"        [pc: 2, pc: 11] local: i index: 2 type: int\n" + 
2082
	: 		"  // Method descriptor #15 (Z)V\n" + 
2176
			"        [pc: 12, pc: 15] local: e index: 2 type: java.lang.Exception\n";
2083
			"  // Stack: 2, Locals: 5\n" + 
2177
		} else {
2178
			expectedOutput = "  // Method descriptor #15 (Z)V\n" + 
2179
			"  // Stack: 2, Locals: 4\n" + 
2084
			"  public void foo(boolean b);\n" + 
2180
			"  public void foo(boolean b);\n" + 
2085
			"     0  iconst_0\n" + 
2181
			"     0  iconst_0\n" + 
2086
			"     1  istore_2 [i]\n" + 
2182
			"     1  istore_2 [i]\n" + 
2087
			"     2  jsr 18\n" + 
2183
			"     2  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2088
			"     5  return\n" + 
2184
			"     5  ldc <String \"done\"> [22]\n" + 
2089
			"     6  astore_2 [e]\n" + 
2185
			"     7  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2090
			"     7  goto 2\n" + 
2186
			"    10  return\n" + 
2091
			"    10  astore 4\n" + 
2187
			"    11  astore_2 [e]\n" + 
2092
			"    12  jsr 18\n" + 
2188
			"    12  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2093
			"    15  aload 4\n" + 
2189
			"    15  ldc <String \"done\"> [22]\n" + 
2094
			"    17  athrow\n" + 
2190
			"    17  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2095
			"    18  astore_3\n" + 
2191
			"    20  return\n" + 
2096
			"    19  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2192
			"    21  astore_3\n" + 
2097
			"    22  ldc <String \"done\"> [22]\n" + 
2193
			"    22  getstatic java.lang.System.out : java.io.PrintStream [16]\n" + 
2098
			"    24  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2194
			"    25  ldc <String \"done\"> [22]\n" + 
2099
			"    27  ret 3\n" + 
2195
			"    27  invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]\n" + 
2196
			"    30  aload_3\n" + 
2197
			"    31  athrow\n" + 
2100
			"      Exception Table:\n" + 
2198
			"      Exception Table:\n" + 
2101
			"        [pc: 0, pc: 5] -> 6 when : java.lang.Exception\n" + 
2199
			"        [pc: 0, pc: 2] -> 11 when : java.lang.Exception\n" + 
2102
			"        [pc: 0, pc: 5] -> 10 when : any\n" + 
2200
			"        [pc: 0, pc: 2] -> 21 when : any\n" + 
2103
			"        [pc: 6, pc: 10] -> 10 when : any\n" + 
2201
			"        [pc: 11, pc: 12] -> 21 when : any\n" + 
2104
			"      Line numbers:\n" + 
2202
			"      Line numbers:\n" + 
2105
			"        [pc: 0, line: 4]\n" + 
2203
			"        [pc: 0, line: 4]\n" + 
2106
			"        [pc: 2, line: 5]\n" + 
2204
			"        [pc: 2, line: 9]\n" + 
2107
			"        [pc: 6, line: 6]\n" + 
2205
			"        [pc: 10, line: 5]\n" + 
2108
			"        [pc: 7, line: 7]\n" + 
2206
			"        [pc: 11, line: 6]\n" + 
2109
			"        [pc: 10, line: 8]\n" + 
2207
			"        [pc: 12, line: 9]\n" + 
2110
			"        [pc: 15, line: 10]\n" + 
2208
			"        [pc: 20, line: 7]\n" + 
2111
			"        [pc: 18, line: 8]\n" + 
2209
			"        [pc: 21, line: 8]\n" + 
2112
			"        [pc: 19, line: 9]\n" + 
2210
			"        [pc: 22, line: 9]\n" + 
2113
			"        [pc: 27, line: 10]\n" + 
2211
			"        [pc: 30, line: 10]\n" + 
2114
			"      Local variable table:\n" + 
2212
			"      Local variable table:\n" + 
2115
			"        [pc: 0, pc: 29] local: this index: 0 type: X\n" + 
2213
			"        [pc: 0, pc: 32] local: this index: 0 type: X\n" + 
2116
			"        [pc: 0, pc: 29] local: b index: 1 type: boolean\n" + 
2214
			"        [pc: 0, pc: 32] local: b index: 1 type: boolean\n" + 
2117
			"        [pc: 2, pc: 6] local: i index: 2 type: int\n" + 
2215
			"        [pc: 2, pc: 11] local: i index: 2 type: int\n" + 
2118
			"        [pc: 7, pc: 10] local: e index: 2 type: java.lang.Exception\n";
2216
			"        [pc: 12, pc: 21] local: e index: 2 type: java.lang.Exception\n" + 
2217
			"      Stack map table: number of frames 2\n" + 
2218
			"        [pc: 11, same_locals_1_stack_item, stack: {java.lang.Exception}]\n" + 
2219
			"        [pc: 21, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n";
2220
		}
2221
	}
2119
2222
2120
	try {
2223
	try {
2121
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
2224
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
Lines 2319-2433 Link Here
2319
			},
2422
			},
2320
			"null#inner -> 3#save -> 3");
2423
			"null#inner -> 3#save -> 3");
2321
	
2424
	
2322
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
2425
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
2426
	String expectedOutput = !compilerOptions.inlineJsrBytecode
2323
		?	"  // Method descriptor #6 ()V\n" + 
2427
		?	"  // Method descriptor #6 ()V\n" + 
2324
			"  // Stack: 4, Locals: 8\n" + 
2428
			"  // Stack: 4, Locals: 10\n" + 
2325
			"  public void save();\n" + 
2326
			"      0  iconst_3\n" + 
2327
			"      1  istore_1 [a]\n" + 
2328
			"      2  aconst_null\n" + 
2329
			"      3  astore_2 [warnings]\n" + 
2330
			"      4  aconst_null\n" + 
2331
			"      5  astore_3 [contexts]\n" + 
2332
			"      6  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2333
			"      9  aload_2 [warnings]\n" + 
2334
			"     10  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2335
			"     13  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2336
			"     16  new java.lang.StringBuilder [27]\n" + 
2337
			"     19  dup\n" + 
2338
			"     20  ldc <String \"#inner -> \"> [29]\n" + 
2339
			"     22  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2340
			"     25  iload_1 [a]\n" + 
2341
			"     26  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2342
			"     29  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2343
			"     32  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2344
			"     35  iconst_0\n" + 
2345
			"     36  istore 7 [var]\n" + 
2346
			"     38  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2347
			"     41  new java.lang.StringBuilder [27]\n" + 
2348
			"     44  dup\n" + 
2349
			"     45  ldc <String \"#save -> \"> [44]\n" + 
2350
			"     47  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2351
			"     50  iload_1 [a]\n" + 
2352
			"     51  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2353
			"     54  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2354
			"     57  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2355
			"     60  return\n" + 
2356
			"     61  astore 4 [npe]\n" + 
2357
			"     63  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2358
			"     66  aload_3 [contexts]\n" + 
2359
			"     67  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2360
			"     70  goto 13\n" + 
2361
			"     73  astore 5\n" + 
2362
			"     75  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2363
			"     78  new java.lang.StringBuilder [27]\n" + 
2364
			"     81  dup\n" + 
2365
			"     82  ldc <String \"#inner -> \"> [29]\n" + 
2366
			"     84  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2367
			"     87  iload_1 [a]\n" + 
2368
			"     88  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2369
			"     91  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2370
			"     94  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2371
			"     97  aload 5\n" + 
2372
			"     99  athrow\n" + 
2373
			"    100  astore_2 [e]\n" + 
2374
			"    101  goto 35\n" + 
2375
			"    104  astore 6\n" + 
2376
			"    106  iconst_0\n" + 
2377
			"    107  istore 7 [var]\n" + 
2378
			"    109  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2379
			"    112  new java.lang.StringBuilder [27]\n" + 
2380
			"    115  dup\n" + 
2381
			"    116  ldc <String \"#save -> \"> [44]\n" + 
2382
			"    118  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2383
			"    121  iload_1 [a]\n" + 
2384
			"    122  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2385
			"    125  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2386
			"    128  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2387
			"    131  aload 6\n" + 
2388
			"    133  athrow\n" + 
2389
			"      Exception Table:\n" + 
2390
			"        [pc: 6, pc: 13] -> 61 when : java.lang.NullPointerException\n" + 
2391
			"        [pc: 6, pc: 13] -> 73 when : any\n" + 
2392
			"        [pc: 61, pc: 73] -> 73 when : any\n" + 
2393
			"        [pc: 2, pc: 35] -> 100 when : java.lang.Exception\n" + 
2394
			"        [pc: 61, pc: 100] -> 100 when : java.lang.Exception\n" + 
2395
			"        [pc: 2, pc: 35] -> 104 when : any\n" + 
2396
			"        [pc: 61, pc: 104] -> 104 when : any\n" + 
2397
			"      Line numbers:\n" + 
2398
			"        [pc: 0, line: 3]\n" + 
2399
			"        [pc: 2, line: 5]\n" + 
2400
			"        [pc: 4, line: 6]\n" + 
2401
			"        [pc: 6, line: 8]\n" + 
2402
			"        [pc: 13, line: 14]\n" + 
2403
			"        [pc: 35, line: 19]\n" + 
2404
			"        [pc: 38, line: 20]\n" + 
2405
			"        [pc: 60, line: 9]\n" + 
2406
			"        [pc: 61, line: 10]\n" + 
2407
			"        [pc: 63, line: 11]\n" + 
2408
			"        [pc: 70, line: 12]\n" + 
2409
			"        [pc: 73, line: 13]\n" + 
2410
			"        [pc: 75, line: 14]\n" + 
2411
			"        [pc: 97, line: 15]\n" + 
2412
			"        [pc: 100, line: 16]\n" + 
2413
			"        [pc: 101, line: 17]\n" + 
2414
			"        [pc: 104, line: 18]\n" + 
2415
			"        [pc: 106, line: 19]\n" + 
2416
			"        [pc: 109, line: 20]\n" + 
2417
			"        [pc: 131, line: 21]\n" + 
2418
			"      Local variable table:\n" + 
2419
			"        [pc: 0, pc: 134] local: this index: 0 type: X\n" + 
2420
			"        [pc: 2, pc: 134] local: a index: 1 type: int\n" + 
2421
			"        [pc: 4, pc: 35] local: warnings index: 2 type: java.lang.Object\n" + 
2422
			"        [pc: 61, pc: 100] local: warnings index: 2 type: java.lang.Object\n" + 
2423
			"        [pc: 6, pc: 35] local: contexts index: 3 type: java.lang.Object\n" + 
2424
			"        [pc: 61, pc: 100] local: contexts index: 3 type: java.lang.Object\n" + 
2425
			"        [pc: 63, pc: 73] local: npe index: 4 type: java.lang.NullPointerException\n" + 
2426
			"        [pc: 101, pc: 104] local: e index: 2 type: java.lang.Exception\n" + 
2427
			"        [pc: 38, pc: 60] local: var index: 7 type: int\n" + 
2428
			"        [pc: 109, pc: 131] local: var index: 7 type: int\n"
2429
	: 		"  // Method descriptor #6 ()V\n" + 
2430
			"  // Stack: 4, Locals: 10\n" + 
2431
			"  public void save();\n" + 
2429
			"  public void save();\n" + 
2432
			"      0  iconst_3\n" + 
2430
			"      0  iconst_3\n" + 
2433
			"      1  istore_1 [a]\n" + 
2431
			"      1  istore_1 [a]\n" + 
Lines 2517-2523 Link Here
2517
			"        [pc: 6, pc: 66] local: contexts index: 3 type: java.lang.Object\n" + 
2515
			"        [pc: 6, pc: 66] local: contexts index: 3 type: java.lang.Object\n" + 
2518
			"        [pc: 22, pc: 32] local: npe index: 4 type: java.lang.NullPointerException\n" + 
2516
			"        [pc: 22, pc: 32] local: npe index: 4 type: java.lang.NullPointerException\n" + 
2519
			"        [pc: 67, pc: 70] local: e index: 2 type: java.lang.Exception\n" + 
2517
			"        [pc: 67, pc: 70] local: e index: 2 type: java.lang.Exception\n" + 
2520
			"        [pc: 83, pc: 105] local: var index: 9 type: int\n";
2518
			"        [pc: 83, pc: 105] local: var index: 9 type: int\n"
2519
		: null;
2520
2521
	if (expectedOutput == null) {
2522
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
2523
			expectedOutput = "  // Method descriptor #6 ()V\n" + 
2524
			"  // Stack: 4, Locals: 8\n" + 
2525
			"  public void save();\n" + 
2526
			"      0  iconst_3\n" + 
2527
			"      1  istore_1 [a]\n" + 
2528
			"      2  aconst_null\n" + 
2529
			"      3  astore_2 [warnings]\n" + 
2530
			"      4  aconst_null\n" + 
2531
			"      5  astore_3 [contexts]\n" + 
2532
			"      6  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2533
			"      9  aload_2 [warnings]\n" + 
2534
			"     10  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2535
			"     13  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2536
			"     16  new java.lang.StringBuilder [27]\n" + 
2537
			"     19  dup\n" + 
2538
			"     20  ldc <String \"#inner -> \"> [29]\n" + 
2539
			"     22  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2540
			"     25  iload_1 [a]\n" + 
2541
			"     26  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2542
			"     29  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2543
			"     32  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2544
			"     35  iconst_0\n" + 
2545
			"     36  istore 7 [var]\n" + 
2546
			"     38  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2547
			"     41  new java.lang.StringBuilder [27]\n" + 
2548
			"     44  dup\n" + 
2549
			"     45  ldc <String \"#save -> \"> [44]\n" + 
2550
			"     47  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2551
			"     50  iload_1 [a]\n" + 
2552
			"     51  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2553
			"     54  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2554
			"     57  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2555
			"     60  return\n" + 
2556
			"     61  astore 4 [npe]\n" + 
2557
			"     63  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2558
			"     66  aload_3 [contexts]\n" + 
2559
			"     67  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2560
			"     70  goto 13\n" + 
2561
			"     73  astore 5\n" + 
2562
			"     75  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2563
			"     78  new java.lang.StringBuilder [27]\n" + 
2564
			"     81  dup\n" + 
2565
			"     82  ldc <String \"#inner -> \"> [29]\n" + 
2566
			"     84  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2567
			"     87  iload_1 [a]\n" + 
2568
			"     88  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2569
			"     91  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2570
			"     94  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2571
			"     97  aload 5\n" + 
2572
			"     99  athrow\n" + 
2573
			"    100  astore_2 [e]\n" + 
2574
			"    101  goto 35\n" + 
2575
			"    104  astore 6\n" + 
2576
			"    106  iconst_0\n" + 
2577
			"    107  istore 7 [var]\n" + 
2578
			"    109  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2579
			"    112  new java.lang.StringBuilder [27]\n" + 
2580
			"    115  dup\n" + 
2581
			"    116  ldc <String \"#save -> \"> [44]\n" + 
2582
			"    118  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2583
			"    121  iload_1 [a]\n" + 
2584
			"    122  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2585
			"    125  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2586
			"    128  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2587
			"    131  aload 6\n" + 
2588
			"    133  athrow\n" + 
2589
			"      Exception Table:\n" + 
2590
			"        [pc: 6, pc: 13] -> 61 when : java.lang.NullPointerException\n" + 
2591
			"        [pc: 6, pc: 13] -> 73 when : any\n" + 
2592
			"        [pc: 61, pc: 73] -> 73 when : any\n" + 
2593
			"        [pc: 2, pc: 35] -> 100 when : java.lang.Exception\n" + 
2594
			"        [pc: 61, pc: 100] -> 100 when : java.lang.Exception\n" + 
2595
			"        [pc: 2, pc: 35] -> 104 when : any\n" + 
2596
			"        [pc: 61, pc: 104] -> 104 when : any\n" + 
2597
			"      Line numbers:\n" + 
2598
			"        [pc: 0, line: 3]\n" + 
2599
			"        [pc: 2, line: 5]\n" + 
2600
			"        [pc: 4, line: 6]\n" + 
2601
			"        [pc: 6, line: 8]\n" + 
2602
			"        [pc: 13, line: 14]\n" + 
2603
			"        [pc: 35, line: 19]\n" + 
2604
			"        [pc: 38, line: 20]\n" + 
2605
			"        [pc: 60, line: 9]\n" + 
2606
			"        [pc: 61, line: 10]\n" + 
2607
			"        [pc: 63, line: 11]\n" + 
2608
			"        [pc: 70, line: 12]\n" + 
2609
			"        [pc: 73, line: 13]\n" + 
2610
			"        [pc: 75, line: 14]\n" + 
2611
			"        [pc: 97, line: 15]\n" + 
2612
			"        [pc: 100, line: 16]\n" + 
2613
			"        [pc: 101, line: 17]\n" + 
2614
			"        [pc: 104, line: 18]\n" + 
2615
			"        [pc: 106, line: 19]\n" + 
2616
			"        [pc: 109, line: 20]\n" + 
2617
			"        [pc: 131, line: 21]\n" + 
2618
			"      Local variable table:\n" + 
2619
			"        [pc: 0, pc: 134] local: this index: 0 type: X\n" + 
2620
			"        [pc: 2, pc: 134] local: a index: 1 type: int\n" + 
2621
			"        [pc: 4, pc: 100] local: warnings index: 2 type: java.lang.Object\n" + 
2622
			"        [pc: 6, pc: 100] local: contexts index: 3 type: java.lang.Object\n" + 
2623
			"        [pc: 63, pc: 73] local: npe index: 4 type: java.lang.NullPointerException\n" + 
2624
			"        [pc: 101, pc: 104] local: e index: 2 type: java.lang.Exception\n" + 
2625
			"        [pc: 38, pc: 60] local: var index: 7 type: int\n" + 
2626
			"        [pc: 109, pc: 131] local: var index: 7 type: int\n";
2627
		} else {
2628
			expectedOutput = "  // Method descriptor #6 ()V\n" + 
2629
			"  // Stack: 4, Locals: 8\n" + 
2630
			"  public void save();\n" + 
2631
			"      0  iconst_3\n" + 
2632
			"      1  istore_1 [a]\n" + 
2633
			"      2  aconst_null\n" + 
2634
			"      3  astore_2 [warnings]\n" + 
2635
			"      4  aconst_null\n" + 
2636
			"      5  astore_3 [contexts]\n" + 
2637
			"      6  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2638
			"      9  aload_2 [warnings]\n" + 
2639
			"     10  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2640
			"     13  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2641
			"     16  new java.lang.StringBuilder [27]\n" + 
2642
			"     19  dup\n" + 
2643
			"     20  ldc <String \"#inner -> \"> [29]\n" + 
2644
			"     22  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2645
			"     25  iload_1 [a]\n" + 
2646
			"     26  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2647
			"     29  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2648
			"     32  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2649
			"     35  iconst_0\n" + 
2650
			"     36  istore 7 [var]\n" + 
2651
			"     38  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2652
			"     41  new java.lang.StringBuilder [27]\n" + 
2653
			"     44  dup\n" + 
2654
			"     45  ldc <String \"#save -> \"> [44]\n" + 
2655
			"     47  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2656
			"     50  iload_1 [a]\n" + 
2657
			"     51  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2658
			"     54  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2659
			"     57  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2660
			"     60  return\n" + 
2661
			"     61  astore 4 [npe]\n" + 
2662
			"     63  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2663
			"     66  aload_3 [contexts]\n" + 
2664
			"     67  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [21]\n" + 
2665
			"     70  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2666
			"     73  new java.lang.StringBuilder [27]\n" + 
2667
			"     76  dup\n" + 
2668
			"     77  ldc <String \"#inner -> \"> [29]\n" + 
2669
			"     79  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2670
			"     82  iload_1 [a]\n" + 
2671
			"     83  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2672
			"     86  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2673
			"     89  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2674
			"     92  iconst_0\n" + 
2675
			"     93  istore 7 [var]\n" + 
2676
			"     95  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2677
			"     98  new java.lang.StringBuilder [27]\n" + 
2678
			"    101  dup\n" + 
2679
			"    102  ldc <String \"#save -> \"> [44]\n" + 
2680
			"    104  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2681
			"    107  iload_1 [a]\n" + 
2682
			"    108  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2683
			"    111  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2684
			"    114  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2685
			"    117  return\n" + 
2686
			"    118  astore 5\n" + 
2687
			"    120  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2688
			"    123  new java.lang.StringBuilder [27]\n" + 
2689
			"    126  dup\n" + 
2690
			"    127  ldc <String \"#inner -> \"> [29]\n" + 
2691
			"    129  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2692
			"    132  iload_1 [a]\n" + 
2693
			"    133  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2694
			"    136  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2695
			"    139  invokevirtual java.io.PrintStream.print(java.lang.String) : void [42]\n" + 
2696
			"    142  aload 5\n" + 
2697
			"    144  athrow\n" + 
2698
			"    145  astore_2 [e]\n" + 
2699
			"    146  iconst_0\n" + 
2700
			"    147  istore 7 [var]\n" + 
2701
			"    149  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2702
			"    152  new java.lang.StringBuilder [27]\n" + 
2703
			"    155  dup\n" + 
2704
			"    156  ldc <String \"#save -> \"> [44]\n" + 
2705
			"    158  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2706
			"    161  iload_1 [a]\n" + 
2707
			"    162  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2708
			"    165  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2709
			"    168  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2710
			"    171  return\n" + 
2711
			"    172  astore 6\n" + 
2712
			"    174  iconst_0\n" + 
2713
			"    175  istore 7 [var]\n" + 
2714
			"    177  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2715
			"    180  new java.lang.StringBuilder [27]\n" + 
2716
			"    183  dup\n" + 
2717
			"    184  ldc <String \"#save -> \"> [44]\n" + 
2718
			"    186  invokespecial java.lang.StringBuilder(java.lang.String) [31]\n" + 
2719
			"    189  iload_1 [a]\n" + 
2720
			"    190  invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [34]\n" + 
2721
			"    193  invokevirtual java.lang.StringBuilder.toString() : java.lang.String [38]\n" + 
2722
			"    196  invokevirtual java.io.PrintStream.println(java.lang.String) : void [46]\n" + 
2723
			"    199  aload 6\n" + 
2724
			"    201  athrow\n" + 
2725
			"      Exception Table:\n" + 
2726
			"        [pc: 6, pc: 13] -> 61 when : java.lang.NullPointerException\n" + 
2727
			"        [pc: 6, pc: 13] -> 118 when : any\n" + 
2728
			"        [pc: 61, pc: 70] -> 118 when : any\n" + 
2729
			"        [pc: 2, pc: 35] -> 145 when : java.lang.Exception\n" + 
2730
			"        [pc: 61, pc: 92] -> 145 when : java.lang.Exception\n" + 
2731
			"        [pc: 118, pc: 145] -> 145 when : java.lang.Exception\n" + 
2732
			"        [pc: 2, pc: 35] -> 172 when : any\n" + 
2733
			"        [pc: 61, pc: 92] -> 172 when : any\n" + 
2734
			"        [pc: 118, pc: 146] -> 172 when : any\n" + 
2735
			"      Line numbers:\n" + 
2736
			"        [pc: 0, line: 3]\n" + 
2737
			"        [pc: 2, line: 5]\n" + 
2738
			"        [pc: 4, line: 6]\n" + 
2739
			"        [pc: 6, line: 8]\n" + 
2740
			"        [pc: 13, line: 14]\n" + 
2741
			"        [pc: 35, line: 19]\n" + 
2742
			"        [pc: 38, line: 20]\n" + 
2743
			"        [pc: 60, line: 9]\n" + 
2744
			"        [pc: 61, line: 10]\n" + 
2745
			"        [pc: 63, line: 11]\n" + 
2746
			"        [pc: 70, line: 14]\n" + 
2747
			"        [pc: 92, line: 19]\n" + 
2748
			"        [pc: 95, line: 20]\n" + 
2749
			"        [pc: 117, line: 12]\n" + 
2750
			"        [pc: 118, line: 13]\n" + 
2751
			"        [pc: 120, line: 14]\n" + 
2752
			"        [pc: 142, line: 15]\n" + 
2753
			"        [pc: 145, line: 16]\n" + 
2754
			"        [pc: 146, line: 19]\n" + 
2755
			"        [pc: 149, line: 20]\n" + 
2756
			"        [pc: 171, line: 17]\n" + 
2757
			"        [pc: 172, line: 18]\n" + 
2758
			"        [pc: 174, line: 19]\n" + 
2759
			"        [pc: 177, line: 20]\n" + 
2760
			"        [pc: 199, line: 21]\n" + 
2761
			"      Local variable table:\n" + 
2762
			"        [pc: 0, pc: 202] local: this index: 0 type: X\n" + 
2763
			"        [pc: 2, pc: 202] local: a index: 1 type: int\n" + 
2764
			"        [pc: 4, pc: 145] local: warnings index: 2 type: java.lang.Object\n" + 
2765
			"        [pc: 6, pc: 145] local: contexts index: 3 type: java.lang.Object\n" + 
2766
			"        [pc: 63, pc: 118] local: npe index: 4 type: java.lang.NullPointerException\n" + 
2767
			"        [pc: 146, pc: 172] local: e index: 2 type: java.lang.Exception\n" + 
2768
			"        [pc: 38, pc: 60] local: var index: 7 type: int\n" + 
2769
			"        [pc: 95, pc: 117] local: var index: 7 type: int\n" + 
2770
			"        [pc: 149, pc: 171] local: var index: 7 type: int\n" + 
2771
			"        [pc: 177, pc: 199] local: var index: 7 type: int\n" + 
2772
			"      Stack map table: number of frames 4\n" + 
2773
			"        [pc: 61, full, stack: {java.lang.NullPointerException}, locals: {X, int, java.lang.Object, java.lang.Object}]\n" + 
2774
			"        [pc: 118, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n" + 
2775
			"        [pc: 145, full, stack: {java.lang.Exception}, locals: {X, int}]\n" + 
2776
			"        [pc: 172, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n";
2777
		}
2778
	}
2521
2779
2522
	try {
2780
	try {
2523
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
2781
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
Lines 2559-2594 Link Here
2559
			},
2817
			},
2560
			"SUCCESS");
2818
			"SUCCESS");
2561
	
2819
	
2562
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
2820
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
2563
		?	"  // Method descriptor #19 ()Ljava/lang/Object;\n" + 
2821
	String expectedOutput = !compilerOptions.inlineJsrBytecode ?
2564
			"  // Stack: 2, Locals: 2\n" + 
2822
			"  // Method descriptor #19 ()Ljava/lang/Object;\n" + 
2565
			"  static java.lang.Object foo();\n" + 
2566
			"     0  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2567
			"     3  ldc <String \"SUCCESS\"> [28]\n" + 
2568
			"     5  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2569
			"     8  aconst_null\n" + 
2570
			"     9  areturn\n" + 
2571
			"    10  astore_0 [e]\n" + 
2572
			"    11  goto 0\n" + 
2573
			"    14  astore_1\n" + 
2574
			"    15  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2575
			"    18  ldc <String \"SUCCESS\"> [28]\n" + 
2576
			"    20  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2577
			"    23  aload_1\n" + 
2578
			"    24  athrow\n" + 
2579
			"      Exception Table:\n" + 
2580
			"        [pc: 10, pc: 14] -> 14 when : any\n" + 
2581
			"      Line numbers:\n" + 
2582
			"        [pc: 0, line: 11]\n" + 
2583
			"        [pc: 8, line: 7]\n" + 
2584
			"        [pc: 10, line: 8]\n" + 
2585
			"        [pc: 11, line: 9]\n" + 
2586
			"        [pc: 14, line: 10]\n" + 
2587
			"        [pc: 15, line: 11]\n" + 
2588
			"        [pc: 23, line: 12]\n" + 
2589
			"      Local variable table:\n" + 
2590
			"        [pc: 11, pc: 14] local: e index: 0 type: java.lang.Exception\n"
2591
	: 		"  // Method descriptor #19 ()Ljava/lang/Object;\n" + 
2592
			"  // Stack: 2, Locals: 3\n" + 
2823
			"  // Stack: 2, Locals: 3\n" + 
2593
			"  static java.lang.Object foo();\n" + 
2824
			"  static java.lang.Object foo();\n" + 
2594
			"     0  jsr 15\n" + 
2825
			"     0  jsr 15\n" + 
Lines 2619-2627 Link Here
2619
			"        [pc: 16, line: 11]\n" + 
2850
			"        [pc: 16, line: 11]\n" + 
2620
			"        [pc: 24, line: 12]\n" + 
2851
			"        [pc: 24, line: 12]\n" + 
2621
			"      Local variable table:\n" + 
2852
			"      Local variable table:\n" + 
2622
			"        [pc: 6, pc: 9] local: e index: 0 type: java.lang.Exception\n";
2853
			"        [pc: 6, pc: 9] local: e index: 0 type: java.lang.Exception\n"
2854
		: null;
2623
2855
2624
	try {
2856
	if (expectedOutput == null) {
2857
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
2858
			expectedOutput = "  // Method descriptor #19 ()Ljava/lang/Object;\n" + 
2859
			"  // Stack: 2, Locals: 2\n" + 
2860
			"  static java.lang.Object foo();\n" + 
2861
			"     0  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2862
			"     3  ldc <String \"SUCCESS\"> [28]\n" + 
2863
			"     5  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2864
			"     8  aconst_null\n" + 
2865
			"     9  areturn\n" + 
2866
			"    10  astore_0 [e]\n" + 
2867
			"    11  goto 0\n" + 
2868
			"    14  astore_1\n" + 
2869
			"    15  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2870
			"    18  ldc <String \"SUCCESS\"> [28]\n" + 
2871
			"    20  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2872
			"    23  aload_1\n" + 
2873
			"    24  athrow\n" + 
2874
			"      Exception Table:\n" + 
2875
			"        [pc: 10, pc: 14] -> 14 when : any\n" + 
2876
			"      Line numbers:\n" + 
2877
			"        [pc: 0, line: 11]\n" + 
2878
			"        [pc: 8, line: 7]\n" + 
2879
			"        [pc: 10, line: 8]\n" + 
2880
			"        [pc: 11, line: 9]\n" + 
2881
			"        [pc: 14, line: 10]\n" + 
2882
			"        [pc: 15, line: 11]\n" + 
2883
			"        [pc: 23, line: 12]\n" + 
2884
			"      Local variable table:\n" + 
2885
			"        [pc: 11, pc: 14] local: e index: 0 type: java.lang.Exception\n";
2886
		} else {
2887
			expectedOutput = "  // Method descriptor #19 ()Ljava/lang/Object;\n" + 
2888
			"  // Stack: 2, Locals: 2\n" + 
2889
			"  static java.lang.Object foo();\n" + 
2890
			"     0  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2891
			"     3  ldc <String \"SUCCESS\"> [28]\n" + 
2892
			"     5  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2893
			"     8  aconst_null\n" + 
2894
			"     9  areturn\n" + 
2895
			"    10  astore_0 [e]\n" + 
2896
			"    11  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2897
			"    14  ldc <String \"SUCCESS\"> [28]\n" + 
2898
			"    16  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2899
			"    19  aconst_null\n" + 
2900
			"    20  areturn\n" + 
2901
			"    21  astore_1\n" + 
2902
			"    22  getstatic java.lang.System.out : java.io.PrintStream [22]\n" + 
2903
			"    25  ldc <String \"SUCCESS\"> [28]\n" + 
2904
			"    27  invokevirtual java.io.PrintStream.println(java.lang.String) : void [30]\n" + 
2905
			"    30  aload_1\n" + 
2906
			"    31  athrow\n" + 
2907
			"      Exception Table:\n" + 
2908
			"        [pc: 10, pc: 11] -> 21 when : any\n" + 
2909
			"      Line numbers:\n" + 
2910
			"        [pc: 0, line: 11]\n" + 
2911
			"        [pc: 8, line: 7]\n" + 
2912
			"        [pc: 10, line: 8]\n" + 
2913
			"        [pc: 11, line: 11]\n" + 
2914
			"        [pc: 19, line: 9]\n" + 
2915
			"        [pc: 21, line: 10]\n" + 
2916
			"        [pc: 22, line: 11]\n" + 
2917
			"        [pc: 30, line: 12]\n" + 
2918
			"      Local variable table:\n" + 
2919
			"        [pc: 11, pc: 21] local: e index: 0 type: java.lang.Exception\n" + 
2920
			"      Stack map table: number of frames 2\n" + 
2921
			"        [pc: 10, same_locals_1_stack_item, stack: {java.lang.Exception}]\n" + 
2922
			"        [pc: 21, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n";
2923
		}
2924
	}
2925
 	try {
2625
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
2926
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
2626
		byte[] classFileBytes = org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent(f);
2927
		byte[] classFileBytes = org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent(f);
2627
		ClassFileBytesDisassembler disassembler = ToolFactory.createDefaultClassFileBytesDisassembler();
2928
		ClassFileBytesDisassembler disassembler = ToolFactory.createDefaultClassFileBytesDisassembler();
Lines 2679-2686 Link Here
2679
			},
2980
			},
2680
			"[try]null[finally][caught npe]");
2981
			"[try]null[finally][caught npe]");
2681
	
2982
	
2682
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
2983
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
2984
	String expectedOutput = !compilerOptions.inlineJsrBytecode
2683
		?	"  // Method descriptor #6 ()V\n" + 
2985
		?	"  // Method descriptor #6 ()V\n" + 
2986
			"  // Stack: 2, Locals: 8\n" + 
2987
			"  public void save();\n" + 
2988
			"     0  aconst_null\n" + 
2989
			"     1  astore_1 [warnings]\n" + 
2990
			"     2  aconst_null\n" + 
2991
			"     3  astore_2 [contexts]\n" + 
2992
			"     4  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2993
			"     7  ldc <String \"[try]\"> [21]\n" + 
2994
			"     9  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
2995
			"    12  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2996
			"    15  aload_1 [warnings]\n" + 
2997
			"    16  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
2998
			"    19  jsr 62\n" + 
2999
			"    22  return\n" + 
3000
			"    23  astore_3 [npe]\n" + 
3001
			"    24  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3002
			"    27  ldc <String \"[npe]\"> [32]\n" + 
3003
			"    29  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3004
			"    32  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3005
			"    35  aload_2 [contexts]\n" + 
3006
			"    36  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
3007
			"    39  goto 19\n" + 
3008
			"    42  astore_1 [e]\n" + 
3009
			"    43  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3010
			"    46  ldc <String \"[e]\"> [34]\n" + 
3011
			"    48  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3012
			"    51  goto 19\n" + 
3013
			"    54  astore 5\n" + 
3014
			"    56  jsr 62\n" + 
3015
			"    59  aload 5\n" + 
3016
			"    61  athrow\n" + 
3017
			"    62  astore 4\n" + 
3018
			"    64  iconst_0\n" + 
3019
			"    65  istore 6 [var]\n" + 
3020
			"    67  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3021
			"    70  ldc <String \"[finally]\"> [36]\n" + 
3022
			"    72  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3023
			"    75  aconst_null\n" + 
3024
			"    76  astore 7 [o]\n" + 
3025
			"    78  aload 7 [o]\n" + 
3026
			"    80  invokevirtual java.lang.Object.toString() : java.lang.String [38]\n" + 
3027
			"    83  pop\n" + 
3028
			"    84  ret 4\n" + 
3029
			"      Exception Table:\n" + 
3030
			"        [pc: 4, pc: 19] -> 23 when : java.lang.NullPointerException\n" + 
3031
			"        [pc: 0, pc: 22] -> 42 when : java.lang.Exception\n" + 
3032
			"        [pc: 23, pc: 42] -> 42 when : java.lang.Exception\n" + 
3033
			"        [pc: 0, pc: 22] -> 54 when : any\n" + 
3034
			"        [pc: 23, pc: 54] -> 54 when : any\n" + 
3035
			"      Line numbers:\n" + 
3036
			"        [pc: 0, line: 4]\n" + 
3037
			"        [pc: 2, line: 5]\n" + 
3038
			"        [pc: 4, line: 7]\n" + 
3039
			"        [pc: 12, line: 8]\n" + 
3040
			"        [pc: 19, line: 9]\n" + 
3041
			"        [pc: 23, line: 10]\n" + 
3042
			"        [pc: 24, line: 11]\n" + 
3043
			"        [pc: 32, line: 12]\n" + 
3044
			"        [pc: 39, line: 13]\n" + 
3045
			"        [pc: 42, line: 15]\n" + 
3046
			"        [pc: 43, line: 16]\n" + 
3047
			"        [pc: 51, line: 17]\n" + 
3048
			"        [pc: 54, line: 18]\n" + 
3049
			"        [pc: 59, line: 23]\n" + 
3050
			"        [pc: 62, line: 18]\n" + 
3051
			"        [pc: 64, line: 19]\n" + 
3052
			"        [pc: 67, line: 20]\n" + 
3053
			"        [pc: 75, line: 21]\n" + 
3054
			"        [pc: 78, line: 22]\n" + 
3055
			"        [pc: 84, line: 23]\n" + 
3056
			"      Local variable table:\n" + 
3057
			"        [pc: 0, pc: 86] local: this index: 0 type: X\n" + 
3058
			"        [pc: 2, pc: 42] local: warnings index: 1 type: java.lang.Object\n" + 
3059
			"        [pc: 4, pc: 42] local: contexts index: 2 type: java.lang.Object\n" + 
3060
			"        [pc: 24, pc: 42] local: npe index: 3 type: java.lang.NullPointerException\n" + 
3061
			"        [pc: 43, pc: 54] local: e index: 1 type: java.lang.Exception\n" + 
3062
			"        [pc: 67, pc: 84] local: var index: 6 type: int\n" + 
3063
			"        [pc: 78, pc: 84] local: o index: 7 type: java.lang.Object\n"
3064
		: null;
3065
3066
	if (expectedOutput == null) {
3067
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
3068
			expectedOutput = "  // Method descriptor #6 ()V\n" + 
2684
			"  // Stack: 2, Locals: 7\n" + 
3069
			"  // Stack: 2, Locals: 7\n" + 
2685
			"  public void save();\n" + 
3070
			"  public void save();\n" + 
2686
			"     0  aconst_null\n" + 
3071
			"     0  aconst_null\n" + 
Lines 2761-2855 Link Here
2761
			"        [pc: 93, line: 23]\n" + 
3146
			"        [pc: 93, line: 23]\n" + 
2762
			"      Local variable table:\n" + 
3147
			"      Local variable table:\n" + 
2763
			"        [pc: 0, pc: 96] local: this index: 0 type: X\n" + 
3148
			"        [pc: 0, pc: 96] local: this index: 0 type: X\n" + 
2764
			"        [pc: 2, pc: 19] local: warnings index: 1 type: java.lang.Object\n" + 
3149
			"        [pc: 2, pc: 59] local: warnings index: 1 type: java.lang.Object\n" + 
2765
			"        [pc: 40, pc: 59] local: warnings index: 1 type: java.lang.Object\n" + 
3150
			"        [pc: 4, pc: 59] local: contexts index: 2 type: java.lang.Object\n" + 
2766
			"        [pc: 4, pc: 19] local: contexts index: 2 type: java.lang.Object\n" + 
2767
			"        [pc: 40, pc: 59] local: contexts index: 2 type: java.lang.Object\n" + 
2768
			"        [pc: 41, pc: 59] local: npe index: 3 type: java.lang.NullPointerException\n" + 
3151
			"        [pc: 41, pc: 59] local: npe index: 3 type: java.lang.NullPointerException\n" + 
2769
			"        [pc: 60, pc: 71] local: e index: 1 type: java.lang.Exception\n" + 
3152
			"        [pc: 60, pc: 71] local: e index: 1 type: java.lang.Exception\n" + 
2770
			"        [pc: 22, pc: 39] local: var index: 5 type: int\n" + 
3153
			"        [pc: 22, pc: 39] local: var index: 5 type: int\n" + 
2771
			"        [pc: 76, pc: 93] local: var index: 5 type: int\n" + 
3154
			"        [pc: 76, pc: 93] local: var index: 5 type: int\n" + 
2772
			"        [pc: 33, pc: 39] local: o index: 6 type: java.lang.Object\n" + 
3155
			"        [pc: 33, pc: 39] local: o index: 6 type: java.lang.Object\n" + 
2773
			"        [pc: 87, pc: 93] local: o index: 6 type: java.lang.Object\n"
3156
			"        [pc: 87, pc: 93] local: o index: 6 type: java.lang.Object\n";
2774
	: 		"  // Method descriptor #6 ()V\n" + 
3157
		} else {
2775
			"  // Stack: 2, Locals: 8\n" + 
3158
			expectedOutput = "  // Method descriptor #6 ()V\n" + 
3159
			"  // Stack: 2, Locals: 7\n" + 
2776
			"  public void save();\n" + 
3160
			"  public void save();\n" + 
2777
			"     0  aconst_null\n" + 
3161
			"      0  aconst_null\n" + 
2778
			"     1  astore_1 [warnings]\n" + 
3162
			"      1  astore_1 [warnings]\n" + 
2779
			"     2  aconst_null\n" + 
3163
			"      2  aconst_null\n" + 
2780
			"     3  astore_2 [contexts]\n" + 
3164
			"      3  astore_2 [contexts]\n" + 
2781
			"     4  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3165
			"      4  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2782
			"     7  ldc <String \"[try]\"> [21]\n" + 
3166
			"      7  ldc <String \"[try]\"> [21]\n" + 
2783
			"     9  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3167
			"      9  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
2784
			"    12  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3168
			"     12  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2785
			"    15  aload_1 [warnings]\n" + 
3169
			"     15  aload_1 [warnings]\n" + 
2786
			"    16  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
3170
			"     16  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
2787
			"    19  jsr 62\n" + 
3171
			"     19  iconst_0\n" + 
2788
			"    22  return\n" + 
3172
			"     20  istore 5 [var]\n" + 
2789
			"    23  astore_3 [npe]\n" + 
3173
			"     22  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2790
			"    24  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3174
			"     25  ldc <String \"[finally]\"> [32]\n" + 
2791
			"    27  ldc <String \"[npe]\"> [32]\n" + 
3175
			"     27  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
2792
			"    29  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3176
			"     30  aconst_null\n" + 
2793
			"    32  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3177
			"     31  astore 6 [o]\n" + 
2794
			"    35  aload_2 [contexts]\n" + 
3178
			"     33  aload 6 [o]\n" + 
2795
			"    36  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
3179
			"     35  invokevirtual java.lang.Object.toString() : java.lang.String [34]\n" + 
2796
			"    39  goto 19\n" + 
3180
			"     38  pop\n" + 
2797
			"    42  astore_1 [e]\n" + 
3181
			"     39  return\n" + 
2798
			"    43  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3182
			"     40  astore_3 [npe]\n" + 
2799
			"    46  ldc <String \"[e]\"> [34]\n" + 
3183
			"     41  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2800
			"    48  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3184
			"     44  ldc <String \"[npe]\"> [38]\n" + 
2801
			"    51  goto 19\n" + 
3185
			"     46  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
2802
			"    54  astore 5\n" + 
3186
			"     49  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2803
			"    56  jsr 62\n" + 
3187
			"     52  aload_2 [contexts]\n" + 
2804
			"    59  aload 5\n" + 
3188
			"     53  invokevirtual java.io.PrintStream.print(java.lang.Object) : void [29]\n" + 
2805
			"    61  athrow\n" + 
3189
			"     56  iconst_0\n" + 
2806
			"    62  astore 4\n" + 
3190
			"     57  istore 5 [var]\n" + 
2807
			"    64  iconst_0\n" + 
3191
			"     59  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
2808
			"    65  istore 6 [var]\n" + 
3192
			"     62  ldc <String \"[finally]\"> [32]\n" + 
2809
			"    67  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3193
			"     64  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
2810
			"    70  ldc <String \"[finally]\"> [36]\n" + 
3194
			"     67  aconst_null\n" + 
2811
			"    72  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3195
			"     68  astore 6 [o]\n" + 
2812
			"    75  aconst_null\n" + 
3196
			"     70  aload 6 [o]\n" + 
2813
			"    76  astore 7 [o]\n" + 
3197
			"     72  invokevirtual java.lang.Object.toString() : java.lang.String [34]\n" + 
2814
			"    78  aload 7 [o]\n" + 
3198
			"     75  pop\n" + 
2815
			"    80  invokevirtual java.lang.Object.toString() : java.lang.String [38]\n" + 
3199
			"     76  return\n" + 
2816
			"    83  pop\n" + 
3200
			"     77  astore_1 [e]\n" + 
2817
			"    84  ret 4\n" + 
3201
			"     78  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3202
			"     81  ldc <String \"[e]\"> [40]\n" + 
3203
			"     83  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3204
			"     86  iconst_0\n" + 
3205
			"     87  istore 5 [var]\n" + 
3206
			"     89  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3207
			"     92  ldc <String \"[finally]\"> [32]\n" + 
3208
			"     94  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3209
			"     97  aconst_null\n" + 
3210
			"     98  astore 6 [o]\n" + 
3211
			"    100  aload 6 [o]\n" + 
3212
			"    102  invokevirtual java.lang.Object.toString() : java.lang.String [34]\n" + 
3213
			"    105  pop\n" + 
3214
			"    106  return\n" + 
3215
			"    107  astore 4\n" + 
3216
			"    109  iconst_0\n" + 
3217
			"    110  istore 5 [var]\n" + 
3218
			"    112  getstatic java.lang.System.out : java.io.PrintStream [15]\n" + 
3219
			"    115  ldc <String \"[finally]\"> [32]\n" + 
3220
			"    117  invokevirtual java.io.PrintStream.print(java.lang.String) : void [23]\n" + 
3221
			"    120  aconst_null\n" + 
3222
			"    121  astore 6 [o]\n" + 
3223
			"    123  aload 6 [o]\n" + 
3224
			"    125  invokevirtual java.lang.Object.toString() : java.lang.String [34]\n" + 
3225
			"    128  pop\n" + 
3226
			"    129  aload 4\n" + 
3227
			"    131  athrow\n" + 
2818
			"      Exception Table:\n" + 
3228
			"      Exception Table:\n" + 
2819
			"        [pc: 4, pc: 19] -> 23 when : java.lang.NullPointerException\n" + 
3229
			"        [pc: 4, pc: 19] -> 40 when : java.lang.NullPointerException\n" + 
2820
			"        [pc: 0, pc: 22] -> 42 when : java.lang.Exception\n" + 
3230
			"        [pc: 0, pc: 19] -> 77 when : java.lang.Exception\n" + 
2821
			"        [pc: 23, pc: 42] -> 42 when : java.lang.Exception\n" + 
3231
			"        [pc: 40, pc: 56] -> 77 when : java.lang.Exception\n" + 
2822
			"        [pc: 0, pc: 22] -> 54 when : any\n" + 
3232
			"        [pc: 0, pc: 19] -> 107 when : any\n" + 
2823
			"        [pc: 23, pc: 54] -> 54 when : any\n" + 
3233
			"        [pc: 40, pc: 56] -> 107 when : any\n" + 
3234
			"        [pc: 77, pc: 86] -> 107 when : any\n" + 
2824
			"      Line numbers:\n" + 
3235
			"      Line numbers:\n" + 
2825
			"        [pc: 0, line: 4]\n" + 
3236
			"        [pc: 0, line: 4]\n" + 
2826
			"        [pc: 2, line: 5]\n" + 
3237
			"        [pc: 2, line: 5]\n" + 
2827
			"        [pc: 4, line: 7]\n" + 
3238
			"        [pc: 4, line: 7]\n" + 
2828
			"        [pc: 12, line: 8]\n" + 
3239
			"        [pc: 12, line: 8]\n" + 
2829
			"        [pc: 19, line: 9]\n" + 
3240
			"        [pc: 19, line: 19]\n" + 
2830
			"        [pc: 23, line: 10]\n" + 
3241
			"        [pc: 22, line: 20]\n" + 
2831
			"        [pc: 24, line: 11]\n" + 
3242
			"        [pc: 30, line: 21]\n" + 
2832
			"        [pc: 32, line: 12]\n" + 
3243
			"        [pc: 33, line: 22]\n" + 
2833
			"        [pc: 39, line: 13]\n" + 
3244
			"        [pc: 39, line: 9]\n" + 
2834
			"        [pc: 42, line: 15]\n" + 
3245
			"        [pc: 40, line: 10]\n" + 
2835
			"        [pc: 43, line: 16]\n" + 
3246
			"        [pc: 41, line: 11]\n" + 
2836
			"        [pc: 51, line: 17]\n" + 
3247
			"        [pc: 49, line: 12]\n" + 
2837
			"        [pc: 54, line: 18]\n" + 
3248
			"        [pc: 56, line: 19]\n" + 
2838
			"        [pc: 59, line: 23]\n" + 
3249
			"        [pc: 59, line: 20]\n" + 
2839
			"        [pc: 62, line: 18]\n" + 
3250
			"        [pc: 67, line: 21]\n" + 
2840
			"        [pc: 64, line: 19]\n" + 
3251
			"        [pc: 70, line: 22]\n" + 
2841
			"        [pc: 67, line: 20]\n" + 
3252
			"        [pc: 76, line: 13]\n" + 
2842
			"        [pc: 75, line: 21]\n" + 
3253
			"        [pc: 77, line: 15]\n" + 
2843
			"        [pc: 78, line: 22]\n" + 
3254
			"        [pc: 78, line: 16]\n" + 
2844
			"        [pc: 84, line: 23]\n" + 
3255
			"        [pc: 86, line: 19]\n" + 
2845
			"      Local variable table:\n" + 
3256
			"        [pc: 89, line: 20]\n" + 
2846
			"        [pc: 0, pc: 86] local: this index: 0 type: X\n" + 
3257
			"        [pc: 97, line: 21]\n" + 
2847
			"        [pc: 2, pc: 42] local: warnings index: 1 type: java.lang.Object\n" + 
3258
			"        [pc: 100, line: 22]\n" + 
2848
			"        [pc: 4, pc: 42] local: contexts index: 2 type: java.lang.Object\n" + 
3259
			"        [pc: 106, line: 17]\n" + 
2849
			"        [pc: 24, pc: 42] local: npe index: 3 type: java.lang.NullPointerException\n" + 
3260
			"        [pc: 107, line: 18]\n" + 
2850
			"        [pc: 43, pc: 54] local: e index: 1 type: java.lang.Exception\n" + 
3261
			"        [pc: 109, line: 19]\n" + 
2851
			"        [pc: 67, pc: 84] local: var index: 6 type: int\n" + 
3262
			"        [pc: 112, line: 20]\n" + 
2852
			"        [pc: 78, pc: 84] local: o index: 7 type: java.lang.Object\n";
3263
			"        [pc: 120, line: 21]\n" + 
3264
			"        [pc: 123, line: 22]\n" + 
3265
			"        [pc: 129, line: 23]\n" + 
3266
			"      Local variable table:\n" + 
3267
			"        [pc: 0, pc: 132] local: this index: 0 type: X\n" + 
3268
			"        [pc: 2, pc: 77] local: warnings index: 1 type: java.lang.Object\n" + 
3269
			"        [pc: 4, pc: 77] local: contexts index: 2 type: java.lang.Object\n" + 
3270
			"        [pc: 41, pc: 77] local: npe index: 3 type: java.lang.NullPointerException\n" + 
3271
			"        [pc: 78, pc: 107] local: e index: 1 type: java.lang.Exception\n" + 
3272
			"        [pc: 22, pc: 39] local: var index: 5 type: int\n" + 
3273
			"        [pc: 59, pc: 76] local: var index: 5 type: int\n" + 
3274
			"        [pc: 89, pc: 106] local: var index: 5 type: int\n" + 
3275
			"        [pc: 112, pc: 129] local: var index: 5 type: int\n" + 
3276
			"        [pc: 33, pc: 39] local: o index: 6 type: java.lang.Object\n" + 
3277
			"        [pc: 70, pc: 76] local: o index: 6 type: java.lang.Object\n" + 
3278
			"        [pc: 100, pc: 106] local: o index: 6 type: java.lang.Object\n" + 
3279
			"        [pc: 123, pc: 129] local: o index: 6 type: java.lang.Object\n" + 
3280
			"      Stack map table: number of frames 3\n" + 
3281
			"        [pc: 40, full, stack: {java.lang.NullPointerException}, locals: {X, java.lang.Object, java.lang.Object}]\n" + 
3282
			"        [pc: 77, full, stack: {java.lang.Exception}, locals: {X}]\n" + 
3283
			"        [pc: 107, same_locals_1_stack_item, stack: {java.lang.Throwable}]\n";
3284
		}
3285
	}
2853
3286
2854
	try {
3287
	try {
2855
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
3288
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
Lines 2891-2898 Link Here
2891
			},
3324
			},
2892
			"");
3325
			"");
2893
	
3326
	
2894
	String expectedOutput = new CompilerOptions(this.getCompilerOptions()).inlineJsrBytecode
3327
	CompilerOptions compilerOptions = new CompilerOptions(this.getCompilerOptions());
3328
	String expectedOutput = !compilerOptions.inlineJsrBytecode
2895
		?	"  // Method descriptor #15 ()Ljava/lang/Object;\n" + 
3329
		?	"  // Method descriptor #15 ()Ljava/lang/Object;\n" + 
3330
			"  // Stack: 2, Locals: 4\n" + 
3331
			"  public static java.lang.Object sanityCheckBug();\n" + 
3332
			"     0  new java.lang.Object [3]\n" + 
3333
			"     3  dup\n" + 
3334
			"     4  invokespecial java.lang.Object() [8]\n" + 
3335
			"     7  astore_0 [obj]\n" + 
3336
			"     8  aload_0 [obj]\n" + 
3337
			"     9  astore_3\n" + 
3338
			"    10  jsr 21\n" + 
3339
			"    13  aload_3\n" + 
3340
			"    14  areturn\n" + 
3341
			"    15  astore_2\n" + 
3342
			"    16  jsr 21\n" + 
3343
			"    19  aload_2\n" + 
3344
			"    20  athrow\n" + 
3345
			"    21  astore_1\n" + 
3346
			"    22  aconst_null\n" + 
3347
			"    23  astore_0 [obj]\n" + 
3348
			"    24  ret 1\n" + 
3349
			"      Exception Table:\n" + 
3350
			"        [pc: 0, pc: 13] -> 15 when : any\n" + 
3351
			"      Line numbers:\n" + 
3352
			"        [pc: 0, line: 5]\n" + 
3353
			"        [pc: 8, line: 6]\n" + 
3354
			"        [pc: 15, line: 7]\n" + 
3355
			"        [pc: 19, line: 9]\n" + 
3356
			"        [pc: 21, line: 7]\n" + 
3357
			"        [pc: 22, line: 8]\n" + 
3358
			"        [pc: 24, line: 9]\n" + 
3359
			"      Local variable table:\n" + 
3360
			"        [pc: 8, pc: 15] local: obj index: 0 type: java.lang.Object\n" + 
3361
			"        [pc: 24, pc: 26] local: obj index: 0 type: java.lang.Object\n"
3362
		: null;
3363
3364
	if (expectedOutput == null) {
3365
		if (compilerOptions.targetJDK == ClassFileConstants.JDK1_5) {
3366
			expectedOutput = "  // Method descriptor #15 ()Ljava/lang/Object;\n" + 
2896
			"  // Stack: 2, Locals: 3\n" + 
3367
			"  // Stack: 2, Locals: 3\n" + 
2897
			"  public static java.lang.Object sanityCheckBug();\n" + 
3368
			"  public static java.lang.Object sanityCheckBug();\n" + 
2898
			"     0  new java.lang.Object [3]\n" + 
3369
			"     0  new java.lang.Object [3]\n" + 
Lines 2921-2962 Link Here
2921
			"        [pc: 15, line: 8]\n" + 
3392
			"        [pc: 15, line: 8]\n" + 
2922
			"        [pc: 17, line: 9]\n" + 
3393
			"        [pc: 17, line: 9]\n" + 
2923
			"      Local variable table:\n" + 
3394
			"      Local variable table:\n" + 
2924
			"        [pc: 8, pc: 10] local: obj index: 0 type: java.lang.Object\n" + 
3395
			"        [pc: 8, pc: 14] local: obj index: 0 type: java.lang.Object\n" + 
2925
			"        [pc: 12, pc: 14] local: obj index: 0 type: java.lang.Object\n" + 
3396
			"        [pc: 17, pc: 19] local: obj index: 0 type: java.lang.Object\n";
2926
			"        [pc: 17, pc: 19] local: obj index: 0 type: java.lang.Object\n"
3397
		} else {
2927
		: 	"  // Method descriptor #15 ()Ljava/lang/Object;\n" + 
3398
			expectedOutput = "  // Method descriptor #15 ()Ljava/lang/Object;\n" + 
2928
			"  // Stack: 2, Locals: 4\n" + 
3399
			"  // Stack: 2, Locals: 3\n" + 
2929
			"  public static java.lang.Object sanityCheckBug();\n" + 
3400
			"  public static java.lang.Object sanityCheckBug();\n" + 
2930
			"     0  new java.lang.Object [3]\n" + 
3401
			"     0  new java.lang.Object [3]\n" + 
2931
			"     3  dup\n" + 
3402
			"     3  dup\n" + 
2932
			"     4  invokespecial java.lang.Object() [8]\n" + 
3403
			"     4  invokespecial java.lang.Object() [8]\n" + 
2933
			"     7  astore_0 [obj]\n" + 
3404
			"     7  astore_0 [obj]\n" + 
2934
			"     8  aload_0 [obj]\n" + 
3405
			"     8  aload_0 [obj]\n" + 
2935
			"     9  astore_3\n" + 
3406
			"     9  astore_2\n" + 
2936
			"    10  jsr 21\n" + 
3407
			"    10  aconst_null\n" + 
2937
			"    13  aload_3\n" + 
3408
			"    11  astore_0 [obj]\n" + 
2938
			"    14  areturn\n" + 
3409
			"    12  aload_2\n" + 
2939
			"    15  astore_2\n" + 
3410
			"    13  areturn\n" + 
2940
			"    16  jsr 21\n" + 
3411
			"    14  astore_1\n" + 
2941
			"    19  aload_2\n" + 
3412
			"    15  aconst_null\n" + 
2942
			"    20  athrow\n" + 
3413
			"    16  astore_0 [obj]\n" + 
2943
			"    21  astore_1\n" + 
3414
			"    17  aload_1\n" + 
2944
			"    22  aconst_null\n" + 
3415
			"    18  athrow\n" + 
2945
			"    23  astore_0 [obj]\n" + 
2946
			"    24  ret 1\n" + 
2947
			"      Exception Table:\n" + 
3416
			"      Exception Table:\n" + 
2948
			"        [pc: 0, pc: 13] -> 15 when : any\n" + 
3417
			"        [pc: 0, pc: 10] -> 14 when : any\n" + 
2949
			"      Line numbers:\n" + 
3418
			"      Line numbers:\n" + 
2950
			"        [pc: 0, line: 5]\n" + 
3419
			"        [pc: 0, line: 5]\n" + 
2951
			"        [pc: 8, line: 6]\n" + 
3420
			"        [pc: 8, line: 6]\n" + 
2952
			"        [pc: 15, line: 7]\n" + 
3421
			"        [pc: 10, line: 8]\n" + 
2953
			"        [pc: 19, line: 9]\n" + 
3422
			"        [pc: 12, line: 6]\n" + 
2954
			"        [pc: 21, line: 7]\n" + 
3423
			"        [pc: 14, line: 7]\n" + 
2955
			"        [pc: 22, line: 8]\n" + 
3424
			"        [pc: 15, line: 8]\n" + 
2956
			"        [pc: 24, line: 9]\n" + 
3425
			"        [pc: 17, line: 9]\n" + 
2957
			"      Local variable table:\n" + 
3426
			"      Local variable table:\n" + 
2958
			"        [pc: 8, pc: 15] local: obj index: 0 type: java.lang.Object\n" + 
3427
			"        [pc: 8, pc: 14] local: obj index: 0 type: java.lang.Object\n" + 
2959
			"        [pc: 24, pc: 26] local: obj index: 0 type: java.lang.Object\n";
3428
			"        [pc: 17, pc: 19] local: obj index: 0 type: java.lang.Object\n";
3429
		}
3430
	}
2960
3431
2961
	try {
3432
	try {
2962
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
3433
		File f = new File(OUTPUT_DIR + File.separator + "X.class");
(-)src/org/eclipse/jdt/core/tests/compiler/regression/StackMapAttributeTest.java (-12 / +297 lines)
Lines 33-39 Link Here
33
	static {
33
	static {
34
//		TESTS_PREFIX = "testBug95521";
34
//		TESTS_PREFIX = "testBug95521";
35
//		TESTS_NAMES = new String[] { "testBug83127a" };
35
//		TESTS_NAMES = new String[] { "testBug83127a" };
36
//		TESTS_NUMBERS = new int[] { 23 };
36
//		TESTS_NUMBERS = new int[] { 28 };
37
//		TESTS_RANGE = new int[] { 23, -1 };
37
//		TESTS_RANGE = new int[] { 23, -1 };
38
	}
38
	}
39
	public static Test suite() {
39
	public static Test suite() {
Lines 2098-2114 Link Here
2098
	}
2098
	}
2099
	public void _test023() {
2099
	public void _test023() {
2100
		this.runConformTest(
2100
		this.runConformTest(
2101
            new String[] {
2101
			new String[] {
2102
        		"X.java",
2102
				"X.java",
2103
        		"public class X {\n" + 
2103
				"public class X {\n" + 
2104
        		"	public static void main(String[] args) {\n" + 
2104
				"	public static void main(String[] args) {\n" + 
2105
        		"		boolean a = true, x;\n" + 
2105
				"		boolean a = true, x;\n" + 
2106
        		"		if (a ? false : (x = true))\n" + 
2106
				"		if (a ? false : (x = true))\n" + 
2107
        		"			a = x;\n" + 
2107
				"			a = x;\n" + 
2108
        		"		System.out.println(\"SUCCESS\");\n" + 
2108
				"		System.out.println(\"SUCCESS\");\n" + 
2109
        		"	}\n" + 
2109
				"	}\n" + 
2110
        		"}",
2110
				"}",
2111
            },
2111
			},
2112
			"SUCCESS");
2112
			"SUCCESS");
2113
	}
2113
	}
2114
	
2114
	
Lines 2172-2175 Link Here
2172
	        },
2172
	        },
2173
			"SUCCESS");
2173
			"SUCCESS");
2174
	}
2174
	}
2175
	// https://bugs.eclipse.org/bugs/show_bug.cgi?id=169017
2176
	public void test026() {
2177
		this.runConformTest(
2178
			new String[] {
2179
				"X.java",
2180
				"public class X {\n" + 
2181
				"\n" + 
2182
				"	public static final Object EXIT_OK = new Object();\n" + 
2183
				"	public static final Object EXIT_RELAUNCH = new Object();\n" + 
2184
				"	public static final Object EXIT_RESTART = new Object();\n" + 
2185
				"	public static final int RETURN_RESTART = 1;\n" + 
2186
				"	public static final String PROP_EXIT_CODE = \"\";\n" + 
2187
				"	public static void main(String[] args) {\n" + 
2188
				"		System.out.println(\"SUCCESS\");\n" + 
2189
				"	}\n" + 
2190
				"	private static int createAndRunWorkbench(Display display, IDEWorkbenchAdvisor advisor) {\n" + 
2191
				"		return 0;\n" + 
2192
				"	}\n" + 
2193
				" \n" + 
2194
				"    public Object run(Object args) throws Exception {\n" + 
2195
				"        Display display = createDisplay();\n" + 
2196
				"        try {\n" + 
2197
				"            Shell shell = new Shell(display, SWT.ON_TOP);\n" + 
2198
				"            try {\n" + 
2199
				"                if (!checkInstanceLocation(shell)) {\n" + 
2200
				"                    Platform.endSplash();\n" + 
2201
				"                    return EXIT_OK;\n" + 
2202
				"                }\n" + 
2203
				"            } finally {\n" + 
2204
				"                if (shell != null) {\n" + 
2205
				"					shell.dispose();\n" + 
2206
				"				}\n" + 
2207
				"            }\n" + 
2208
				"            int returnCode = X.createAndRunWorkbench(display,\n" + 
2209
				"                    new IDEWorkbenchAdvisor());\n" + 
2210
				"            if (returnCode != X.RETURN_RESTART) {\n" + 
2211
				"				return EXIT_OK;\n" + 
2212
				"			}\n" + 
2213
				"            return EXIT_RELAUNCH.equals(Integer.getInteger(PROP_EXIT_CODE)) ? EXIT_RELAUNCH\n" + 
2214
				"                    : EXIT_RESTART;\n" + 
2215
				"        } finally {\n" + 
2216
				"            if (display != null) {\n" + 
2217
				"				display.dispose();\n" + 
2218
				"			}\n" + 
2219
				"        }\n" + 
2220
				"    }\n" + 
2221
				"	private boolean checkInstanceLocation(Shell shell) {\n" + 
2222
				"		// TODO Auto-generated method stub\n" + 
2223
				"		return false;\n" + 
2224
				"	}\n" + 
2225
				"	private Display createDisplay() {\n" + 
2226
				"		// TODO Auto-generated method stub\n" + 
2227
				"		return null;\n" + 
2228
				"	}\n" + 
2229
				"}",
2230
				"Display.java",
2231
				"class Display {\n" + 
2232
				"\n" + 
2233
				"	public void dispose() {\n" + 
2234
				"		// TODO Auto-generated method stub\n" + 
2235
				"		\n" + 
2236
				"	}\n" + 
2237
				"}",
2238
				"Shell.java",
2239
				"class Shell {\n" + 
2240
				"	public Shell(Display display, int i) {\n" + 
2241
				"		// TODO Auto-generated constructor stub\n" + 
2242
				"	}\n" + 
2243
				"\n" + 
2244
				"	public void dispose() {\n" + 
2245
				"		// TODO Auto-generated method stub\n" + 
2246
				"		\n" + 
2247
				"	}\n" + 
2248
				"}",
2249
				"Platform.java",
2250
				"class Platform {\n" + 
2251
				"\n" + 
2252
				"	public static void endSplash() {\n" + 
2253
				"		// TODO Auto-generated method stub\n" + 
2254
				"		\n" + 
2255
				"	}\n" + 
2256
				"}",
2257
				"SWT.java", 
2258
				"class SWT {\n" + 
2259
				"	public static final int ON_TOP = 1; \n" + 
2260
				"}",
2261
				"IDEWorkbenchAdvisor.java",
2262
				"class IDEWorkbenchAdvisor {\n" +
2263
				"}"
2264
    	},
2265
		"SUCCESS");
2266
	}
2267
	
2268
	// https://bugs.eclipse.org/bugs/show_bug.cgi?id=169017
2269
	public void test027() {
2270
		this.runConformTest(
2271
			new String[] {
2272
				"X.java",
2273
				"import java.io.IOException;\n" + 
2274
				"import java.io.InputStream;\n" + 
2275
				"public class X {\n" + 
2276
				"	private static final int BUF_SIZE = 8192;\n" + 
2277
				"	public static void main(String[] args) {\n" + 
2278
				"		System.out.println(\"SUCCESS\");\n" + 
2279
				"	}\n" + 
2280
				"	BundleActivator activator;\n" + 
2281
				"	BundleHost bundle;\n" + 
2282
				"	public byte[] getBytes() throws IOException {\n" + 
2283
				"		InputStream in = getInputStream();\n" + 
2284
				"		int length = (int) getSize();\n" + 
2285
				"		byte[] classbytes;\n" + 
2286
				"		int bytesread = 0;\n" + 
2287
				"		int readcount;\n" + 
2288
				"		if (Debug.DEBUG && Debug.DEBUG_LOADER)\n" + 
2289
				"			Debug.println(\"  about to read \" + length + \" bytes from \" + getName()); //$NON-NLS-1$ //$NON-NLS-2$\n" + 
2290
				"		try {\n" + 
2291
				"			if (length > 0) {\n" + 
2292
				"				classbytes = new byte[length];\n" + 
2293
				"				for (; bytesread < length; bytesread += readcount) {\n" + 
2294
				"					readcount = in.read(classbytes, bytesread, length - bytesread);\n" + 
2295
				"					if (readcount <= 0)\n" + 
2296
				"						break;\n" + 
2297
				"				}\n" + 
2298
				"			} else {\n" + 
2299
				"				length = BUF_SIZE;\n" + 
2300
				"				classbytes = new byte[length];\n" + 
2301
				"				readloop: while (true) {\n" + 
2302
				"					for (; bytesread < length; bytesread += readcount) {\n" + 
2303
				"						readcount = in.read(classbytes, bytesread, length - bytesread);\n" + 
2304
				"						if (readcount <= 0)\n" + 
2305
				"							break readloop;\n" + 
2306
				"					}\n" + 
2307
				"					byte[] oldbytes = classbytes;\n" + 
2308
				"					length += BUF_SIZE;\n" + 
2309
				"					classbytes = new byte[length];\n" + 
2310
				"					System.arraycopy(oldbytes, 0, classbytes, 0, bytesread);\n" + 
2311
				"				}\n" + 
2312
				"			}\n" + 
2313
				"			if (classbytes.length > bytesread) {\n" + 
2314
				"				byte[] oldbytes = classbytes;\n" + 
2315
				"				classbytes = new byte[bytesread];\n" + 
2316
				"				System.arraycopy(oldbytes, 0, classbytes, 0, bytesread);\n" + 
2317
				"			}\n" + 
2318
				"		} finally {\n" + 
2319
				"			try {\n" + 
2320
				"				in.close();\n" + 
2321
				"			} catch (IOException ee) {\n" + 
2322
				"				// ignore\n" + 
2323
				"			}\n" + 
2324
				"		}\n" + 
2325
				"		return classbytes;\n" + 
2326
				"	}\n" + 
2327
				"	protected void stop(Throwable t) throws BundleException {\n" + 
2328
				"			String clazz = \"\";//(activator == null) ? \"\" : activator.getClass().getName(); //$NON-NLS-1$\n" + 
2329
				"			throw new BundleException(NLS.bind(Msg.BUNDLE_ACTIVATOR_EXCEPTION, new Object[] {clazz, \"stop\", bundle.getSymbolicName() == null ? \"\" + bundle.getBundleId() : bundle.getSymbolicName()}), t); //$NON-NLS-1$ //$NON-NLS-2$ \n" + 
2330
				"	}\n" + 
2331
				"	private String getName() {\n" + 
2332
				"		// TODO Auto-generated method stub\n" + 
2333
				"		return null;\n" + 
2334
				"	}\n" + 
2335
				"	private int getSize() {\n" + 
2336
				"		// TODO Auto-generated method stub\n" + 
2337
				"		return 0;\n" + 
2338
				"	}\n" + 
2339
				"	private InputStream getInputStream() {\n" + 
2340
				"		// TODO Auto-generated method stub\n" + 
2341
				"		return null;\n" + 
2342
				"	}\n" + 
2343
				"}",
2344
				"Debug.java",
2345
				"class Debug {\n" + 
2346
				"	public static final boolean DEBUG = false;\n" + 
2347
				"	public static final boolean DEBUG_LOADER = false;\n" + 
2348
				"	public static final boolean DEBUG_GENERAL = false;\n" + 
2349
				"	public static void println(String string) {\n" + 
2350
				"		// TODO Auto-generated method stub\n" + 
2351
				"		\n" + 
2352
				"	}\n" + 
2353
				"	public static void printStackTrace(Throwable t) {\n" + 
2354
				"		// TODO Auto-generated method stub\n" + 
2355
				"		\n" + 
2356
				"	}\n" + 
2357
				"}",
2358
				"AccessController.java",
2359
				"class AccessController {\n" + 
2360
				"	static void doPrivileged(Object o) {\n" + 
2361
				"	}\n" + 
2362
				"}",
2363
				"BundleException",
2364
				"class BundleException extends Exception {\n" + 
2365
				"	private static final long serialVersionUID = 5758882959559471648L;\n" + 
2366
				"\n" + 
2367
				"	public BundleException(String bind, Throwable t) {\n" + 
2368
				"		// TODO Auto-generated constructor stub\n" + 
2369
				"	}\n" + 
2370
				"}",
2371
				"PrivilegedExceptionAction.java",
2372
				"class PrivilegedExceptionAction {\n" + 
2373
				"}",
2374
				"BundleActivator.java",
2375
				"class BundleActivator {\n" + 
2376
				"	public void stop(X x) {\n" + 
2377
				"		// TODO Auto-generated method stub\n" + 
2378
				"		\n" + 
2379
				"	}\n" + 
2380
				"}",
2381
				"BundleHost.java",
2382
				"class BundleHost {\n" + 
2383
				"	public Object getSymbolicName() {\n" + 
2384
				"		// TODO Auto-generated method stub\n" + 
2385
				"		return null;\n" + 
2386
				"	}\n" + 
2387
				"	public String getBundleId() {\n" + 
2388
				"		// TODO Auto-generated method stub\n" + 
2389
				"		return null;\n" + 
2390
				"	}\n" + 
2391
				"}",
2392
				"NLS.java",
2393
				"class NLS {\n" + 
2394
				"	public static String bind(String bundleActivatorException, Object[] objects) {\n" + 
2395
				"		// TODO Auto-generated method stub\n" + 
2396
				"		return null;\n" + 
2397
				"	}\n" + 
2398
				"}",
2399
				"PrivilegedActionException.java",
2400
				"class PrivilegedActionException extends Exception {\n" + 
2401
				"	private static final long serialVersionUID = 3919969055057660822L;\n" + 
2402
				"	public Throwable getException() {\n" + 
2403
				"		// TODO Auto-generated method stub\n" + 
2404
				"		return null;\n" + 
2405
				"	}\n" +
2406
				"}",
2407
				"Msg.java",
2408
				"class Msg {\n" + 
2409
				"	public static final String BUNDLE_ACTIVATOR_EXCEPTION = \"\";\n" + 
2410
				"}"
2411
    	},
2412
		"SUCCESS");
2413
	}
2414
	
2415
	// https://bugs.eclipse.org/bugs/show_bug.cgi?id=169017
2416
	public void test028() {
2417
		this.runConformTest(
2418
			new String[] {
2419
				"X.java",
2420
				"import java.io.StringReader;\r\n" + 
2421
				"\r\n" + 
2422
				"public class X {\r\n" + 
2423
				"	public void loadVariablesAndContainers() {\r\n" + 
2424
				"		// backward compatibility, consider persistent property	\r\n" + 
2425
				"		String qName = \"1\";\r\n" + 
2426
				"		String xmlString = \"2\";\r\n" + 
2427
				"		\r\n" + 
2428
				"		try {\r\n" + 
2429
				"			if (xmlString != null){\r\n" + 
2430
				"				StringReader reader = new StringReader(xmlString);\r\n" + 
2431
				"				Object o;\r\n" + 
2432
				"				try {\r\n" + 
2433
				"					StringBuffer buffer = null;\r\n" + 
2434
				"					o = new Object();\r\n" + 
2435
				"				} catch(RuntimeException e) {\r\n" + 
2436
				"					return;\r\n" + 
2437
				"				} catch(Exception e){\r\n" + 
2438
				"					return;\r\n" + 
2439
				"				} finally {\r\n" + 
2440
				"					reader.close();\r\n" + 
2441
				"				}\r\n" + 
2442
				"				System.out.println(reader);\r\n" + 
2443
				"			}\r\n" + 
2444
				"		} catch(Exception e){\r\n" + 
2445
				"			// problem loading xml file: nothing we can do\r\n" + 
2446
				"		} finally {\r\n" + 
2447
				"			if (xmlString != null){\r\n" + 
2448
				"				System.out.println(xmlString);\r\n" + 
2449
				"			}\r\n" + 
2450
				"		}\r\n" + 
2451
				"	}\r\n" + 
2452
				"\r\n" + 
2453
				"	public static void main(String[] args) {\r\n" + 
2454
				"		System.out.println(\"SUCCESS\");\n" + 
2455
				"	}\r\n" + 
2456
				"}"
2457
		},
2458
		"SUCCESS");
2459
	}
2175
}
2460
}
(-)src/org/eclipse/jdt/core/tests/compiler/regression/XLargeTest.java (-1 / +8028 lines)
Lines 3792-3798 Link Here
3792
	},
3792
	},
3793
	"");
3793
	"");
3794
}
3794
}
3795
3795
public void test015() {
3796
	this.runConformTest(new String[] {
3797
		"X.java",
3798
		"public class X {\n" + 
3799
		"	public static int foo(int i) {\n" + 
3800
		"		try {\n" + 
3801
		"			switch(i) {\n" + 
3802
		"				case 0 :\n" + 
3803
		"					return 3;\n" + 
3804
		"				case 1 :\n" + 
3805
		"					return 3;\n" + 
3806
		"				case 2 :\n" + 
3807
		"					return 3;\n" + 
3808
		"				case 3 :\n" + 
3809
		"					return 3;\n" + 
3810
		"				case 4 :\n" + 
3811
		"					return 3;\n" + 
3812
		"				case 5 :\n" + 
3813
		"					return 3;\n" + 
3814
		"				case 6 :\n" + 
3815
		"					return 3;\n" + 
3816
		"				case 7 :\n" + 
3817
		"					return 3;\n" + 
3818
		"				case 8 :\n" + 
3819
		"					return 3;\n" + 
3820
		"				case 9 :\n" + 
3821
		"					return 3;\n" + 
3822
		"				case 10 :\n" + 
3823
		"					return 3;\n" + 
3824
		"				case 11 :\n" + 
3825
		"					return 3;\n" + 
3826
		"				case 12 :\n" + 
3827
		"					return 3;\n" + 
3828
		"				case 13 :\n" + 
3829
		"					return 3;\n" + 
3830
		"				case 14 :\n" + 
3831
		"					return 3;\n" + 
3832
		"				case 15 :\n" + 
3833
		"					return 3;\n" + 
3834
		"				case 16 :\n" + 
3835
		"					return 3;\n" + 
3836
		"				case 17 :\n" + 
3837
		"					return 3;\n" + 
3838
		"				case 18 :\n" + 
3839
		"					return 3;\n" + 
3840
		"				case 19 :\n" + 
3841
		"					return 3;\n" + 
3842
		"				case 20 :\n" + 
3843
		"					return 3;\n" + 
3844
		"				case 21 :\n" + 
3845
		"					return 3;\n" + 
3846
		"				case 22 :\n" + 
3847
		"					return 3;\n" + 
3848
		"				case 23 :\n" + 
3849
		"					return 3;\n" + 
3850
		"				case 24 :\n" + 
3851
		"					return 3;\n" + 
3852
		"				case 25 :\n" + 
3853
		"					return 3;\n" + 
3854
		"				case 26 :\n" + 
3855
		"					return 3;\n" + 
3856
		"				case 27 :\n" + 
3857
		"					return 3;\n" + 
3858
		"				case 28 :\n" + 
3859
		"					return 3;\n" + 
3860
		"				case 29 :\n" + 
3861
		"					return 3;\n" + 
3862
		"				case 30 :\n" + 
3863
		"					return 3;\n" + 
3864
		"				case 31 :\n" + 
3865
		"					return 3;\n" + 
3866
		"				case 32 :\n" + 
3867
		"					return 3;\n" + 
3868
		"				case 33 :\n" + 
3869
		"					return 3;\n" + 
3870
		"				case 34 :\n" + 
3871
		"					return 3;\n" + 
3872
		"				case 35 :\n" + 
3873
		"					return 3;\n" + 
3874
		"				case 36 :\n" + 
3875
		"					return 3;\n" + 
3876
		"				case 37 :\n" + 
3877
		"					return 3;\n" + 
3878
		"				case 38 :\n" + 
3879
		"					return 3;\n" + 
3880
		"				case 39 :\n" + 
3881
		"					return 3;\n" + 
3882
		"				case 40 :\n" + 
3883
		"					return 3;\n" + 
3884
		"				case 41 :\n" + 
3885
		"					return 3;\n" + 
3886
		"				case 42 :\n" + 
3887
		"					return 3;\n" + 
3888
		"				case 43 :\n" + 
3889
		"					return 3;\n" + 
3890
		"				case 44 :\n" + 
3891
		"					return 3;\n" + 
3892
		"				case 45 :\n" + 
3893
		"					return 3;\n" + 
3894
		"				case 46 :\n" + 
3895
		"					return 3;\n" + 
3896
		"				case 47 :\n" + 
3897
		"					return 3;\n" + 
3898
		"				case 48 :\n" + 
3899
		"					return 3;\n" + 
3900
		"				case 49 :\n" + 
3901
		"					return 3;\n" + 
3902
		"				case 50 :\n" + 
3903
		"					return 3;\n" + 
3904
		"				case 51 :\n" + 
3905
		"					return 3;\n" + 
3906
		"				case 52 :\n" + 
3907
		"					return 3;\n" + 
3908
		"				case 53 :\n" + 
3909
		"					return 3;\n" + 
3910
		"				case 54 :\n" + 
3911
		"					return 3;\n" + 
3912
		"				case 55 :\n" + 
3913
		"					return 3;\n" + 
3914
		"				case 56 :\n" + 
3915
		"					return 3;\n" + 
3916
		"				case 57 :\n" + 
3917
		"					return 3;\n" + 
3918
		"				case 58 :\n" + 
3919
		"					return 3;\n" + 
3920
		"				case 59 :\n" + 
3921
		"					return 3;\n" + 
3922
		"				case 60 :\n" + 
3923
		"					return 3;\n" + 
3924
		"				case 61 :\n" + 
3925
		"					return 3;\n" + 
3926
		"				case 62 :\n" + 
3927
		"					return 3;\n" + 
3928
		"				case 63 :\n" + 
3929
		"					return 3;\n" + 
3930
		"				case 64 :\n" + 
3931
		"					return 3;\n" + 
3932
		"				case 65 :\n" + 
3933
		"					return 3;\n" + 
3934
		"				case 66 :\n" + 
3935
		"					return 3;\n" + 
3936
		"				case 67 :\n" + 
3937
		"					return 3;\n" + 
3938
		"				case 68 :\n" + 
3939
		"					return 3;\n" + 
3940
		"				case 69 :\n" + 
3941
		"					return 3;\n" + 
3942
		"				case 70 :\n" + 
3943
		"					return 3;\n" + 
3944
		"				case 71 :\n" + 
3945
		"					return 3;\n" + 
3946
		"				case 72 :\n" + 
3947
		"					return 3;\n" + 
3948
		"				case 73 :\n" + 
3949
		"					return 3;\n" + 
3950
		"				case 74 :\n" + 
3951
		"					return 3;\n" + 
3952
		"				case 75 :\n" + 
3953
		"					return 3;\n" + 
3954
		"				case 76 :\n" + 
3955
		"					return 3;\n" + 
3956
		"				case 77 :\n" + 
3957
		"					return 3;\n" + 
3958
		"				case 78 :\n" + 
3959
		"					return 3;\n" + 
3960
		"				case 79 :\n" + 
3961
		"					return 3;\n" + 
3962
		"				case 80 :\n" + 
3963
		"					return 3;\n" + 
3964
		"				case 81 :\n" + 
3965
		"					return 3;\n" + 
3966
		"				case 82 :\n" + 
3967
		"					return 3;\n" + 
3968
		"				case 83 :\n" + 
3969
		"					return 3;\n" + 
3970
		"				case 84 :\n" + 
3971
		"					return 3;\n" + 
3972
		"				case 85 :\n" + 
3973
		"					return 3;\n" + 
3974
		"				case 86 :\n" + 
3975
		"					return 3;\n" + 
3976
		"				case 87 :\n" + 
3977
		"					return 3;\n" + 
3978
		"				case 88 :\n" + 
3979
		"					return 3;\n" + 
3980
		"				case 89 :\n" + 
3981
		"					return 3;\n" + 
3982
		"				case 90 :\n" + 
3983
		"					return 3;\n" + 
3984
		"				case 91 :\n" + 
3985
		"					return 3;\n" + 
3986
		"				case 92 :\n" + 
3987
		"					return 3;\n" + 
3988
		"				case 93 :\n" + 
3989
		"					return 3;\n" + 
3990
		"				case 94 :\n" + 
3991
		"					return 3;\n" + 
3992
		"				case 95 :\n" + 
3993
		"					return 3;\n" + 
3994
		"				case 96 :\n" + 
3995
		"					return 3;\n" + 
3996
		"				case 97 :\n" + 
3997
		"					return 3;\n" + 
3998
		"				case 98 :\n" + 
3999
		"					return 3;\n" + 
4000
		"				case 99 :\n" + 
4001
		"					return 3;\n" + 
4002
		"				case 100 :\n" + 
4003
		"					return 3;\n" + 
4004
		"				case 101 :\n" + 
4005
		"					return 3;\n" + 
4006
		"				case 102 :\n" + 
4007
		"					return 3;\n" + 
4008
		"				case 103 :\n" + 
4009
		"					return 3;\n" + 
4010
		"				case 104 :\n" + 
4011
		"					return 3;\n" + 
4012
		"				case 105 :\n" + 
4013
		"					return 3;\n" + 
4014
		"				case 106 :\n" + 
4015
		"					return 3;\n" + 
4016
		"				case 107 :\n" + 
4017
		"					return 3;\n" + 
4018
		"				case 108 :\n" + 
4019
		"					return 3;\n" + 
4020
		"				case 109 :\n" + 
4021
		"					return 3;\n" + 
4022
		"				case 110 :\n" + 
4023
		"					return 3;\n" + 
4024
		"				case 111 :\n" + 
4025
		"					return 3;\n" + 
4026
		"				case 112 :\n" + 
4027
		"					return 3;\n" + 
4028
		"				case 113 :\n" + 
4029
		"					return 3;\n" + 
4030
		"				case 114 :\n" + 
4031
		"					return 3;\n" + 
4032
		"				case 115 :\n" + 
4033
		"					return 3;\n" + 
4034
		"				case 116 :\n" + 
4035
		"					return 3;\n" + 
4036
		"				case 117 :\n" + 
4037
		"					return 3;\n" + 
4038
		"				case 118 :\n" + 
4039
		"					return 3;\n" + 
4040
		"				case 119 :\n" + 
4041
		"					return 3;\n" + 
4042
		"				case 120 :\n" + 
4043
		"					return 3;\n" + 
4044
		"				case 121 :\n" + 
4045
		"					return 3;\n" + 
4046
		"				case 122 :\n" + 
4047
		"					return 3;\n" + 
4048
		"				case 123 :\n" + 
4049
		"					return 3;\n" + 
4050
		"				case 124 :\n" + 
4051
		"					return 3;\n" + 
4052
		"				case 125 :\n" + 
4053
		"					return 3;\n" + 
4054
		"				case 126 :\n" + 
4055
		"					return 3;\n" + 
4056
		"				case 127 :\n" + 
4057
		"					return 3;\n" + 
4058
		"				case 128 :\n" + 
4059
		"					return 3;\n" + 
4060
		"				case 129 :\n" + 
4061
		"					return 3;\n" + 
4062
		"				case 130 :\n" + 
4063
		"					return 3;\n" + 
4064
		"				case 131 :\n" + 
4065
		"					return 3;\n" + 
4066
		"				case 132 :\n" + 
4067
		"					return 3;\n" + 
4068
		"				case 133 :\n" + 
4069
		"					return 3;\n" + 
4070
		"				case 134 :\n" + 
4071
		"					return 3;\n" + 
4072
		"				case 135 :\n" + 
4073
		"					return 3;\n" + 
4074
		"				case 136 :\n" + 
4075
		"					return 3;\n" + 
4076
		"				case 137 :\n" + 
4077
		"					return 3;\n" + 
4078
		"				case 138 :\n" + 
4079
		"					return 3;\n" + 
4080
		"				case 139 :\n" + 
4081
		"					return 3;\n" + 
4082
		"				case 140 :\n" + 
4083
		"					return 3;\n" + 
4084
		"				case 141 :\n" + 
4085
		"					return 3;\n" + 
4086
		"				case 142 :\n" + 
4087
		"					return 3;\n" + 
4088
		"				case 143 :\n" + 
4089
		"					return 3;\n" + 
4090
		"				case 144 :\n" + 
4091
		"					return 3;\n" + 
4092
		"				case 145 :\n" + 
4093
		"					return 3;\n" + 
4094
		"				case 146 :\n" + 
4095
		"					return 3;\n" + 
4096
		"				case 147 :\n" + 
4097
		"					return 3;\n" + 
4098
		"				case 148 :\n" + 
4099
		"					return 3;\n" + 
4100
		"				case 149 :\n" + 
4101
		"					return 3;\n" + 
4102
		"				case 150 :\n" + 
4103
		"					return 3;\n" + 
4104
		"				case 151 :\n" + 
4105
		"					return 3;\n" + 
4106
		"				case 152 :\n" + 
4107
		"					return 3;\n" + 
4108
		"				case 153 :\n" + 
4109
		"					return 3;\n" + 
4110
		"				case 154 :\n" + 
4111
		"					return 3;\n" + 
4112
		"				case 155 :\n" + 
4113
		"					return 3;\n" + 
4114
		"				case 156 :\n" + 
4115
		"					return 3;\n" + 
4116
		"				case 157 :\n" + 
4117
		"					return 3;\n" + 
4118
		"				case 158 :\n" + 
4119
		"					return 3;\n" + 
4120
		"				case 159 :\n" + 
4121
		"					return 3;\n" + 
4122
		"				case 160 :\n" + 
4123
		"					return 3;\n" + 
4124
		"				case 161 :\n" + 
4125
		"					return 3;\n" + 
4126
		"				case 162 :\n" + 
4127
		"					return 3;\n" + 
4128
		"				case 163 :\n" + 
4129
		"					return 3;\n" + 
4130
		"				case 164 :\n" + 
4131
		"					return 3;\n" + 
4132
		"				case 165 :\n" + 
4133
		"					return 3;\n" + 
4134
		"				case 166 :\n" + 
4135
		"					return 3;\n" + 
4136
		"				case 167 :\n" + 
4137
		"					return 3;\n" + 
4138
		"				case 168 :\n" + 
4139
		"					return 3;\n" + 
4140
		"				case 169 :\n" + 
4141
		"					return 3;\n" + 
4142
		"				case 170 :\n" + 
4143
		"					return 3;\n" + 
4144
		"				case 171 :\n" + 
4145
		"					return 3;\n" + 
4146
		"				case 172 :\n" + 
4147
		"					return 3;\n" + 
4148
		"				case 173 :\n" + 
4149
		"					return 3;\n" + 
4150
		"				case 174 :\n" + 
4151
		"					return 3;\n" + 
4152
		"				case 175 :\n" + 
4153
		"					return 3;\n" + 
4154
		"				case 176 :\n" + 
4155
		"					return 3;\n" + 
4156
		"				case 177 :\n" + 
4157
		"					return 3;\n" + 
4158
		"				case 178 :\n" + 
4159
		"					return 3;\n" + 
4160
		"				case 179 :\n" + 
4161
		"					return 3;\n" + 
4162
		"				case 180 :\n" + 
4163
		"					return 3;\n" + 
4164
		"				case 181 :\n" + 
4165
		"					return 3;\n" + 
4166
		"				case 182 :\n" + 
4167
		"					return 3;\n" + 
4168
		"				case 183 :\n" + 
4169
		"					return 3;\n" + 
4170
		"				case 184 :\n" + 
4171
		"					return 3;\n" + 
4172
		"				case 185 :\n" + 
4173
		"					return 3;\n" + 
4174
		"				case 186 :\n" + 
4175
		"					return 3;\n" + 
4176
		"				case 187 :\n" + 
4177
		"					return 3;\n" + 
4178
		"				case 188 :\n" + 
4179
		"					return 3;\n" + 
4180
		"				case 189 :\n" + 
4181
		"					return 3;\n" + 
4182
		"				case 190 :\n" + 
4183
		"					return 3;\n" + 
4184
		"				case 191 :\n" + 
4185
		"					return 3;\n" + 
4186
		"				case 192 :\n" + 
4187
		"					return 3;\n" + 
4188
		"				case 193 :\n" + 
4189
		"					return 3;\n" + 
4190
		"				case 194 :\n" + 
4191
		"					return 3;\n" + 
4192
		"				case 195 :\n" + 
4193
		"					return 3;\n" + 
4194
		"				case 196 :\n" + 
4195
		"					return 3;\n" + 
4196
		"				case 197 :\n" + 
4197
		"					return 3;\n" + 
4198
		"				case 198 :\n" + 
4199
		"					return 3;\n" + 
4200
		"				case 199 :\n" + 
4201
		"					return 3;\n" + 
4202
		"				case 200 :\n" + 
4203
		"					return 3;\n" + 
4204
		"				case 201 :\n" + 
4205
		"					return 3;\n" + 
4206
		"				case 202 :\n" + 
4207
		"					return 3;\n" + 
4208
		"				case 203 :\n" + 
4209
		"					return 3;\n" + 
4210
		"				case 204 :\n" + 
4211
		"					return 3;\n" + 
4212
		"				case 205 :\n" + 
4213
		"					return 3;\n" + 
4214
		"				case 206 :\n" + 
4215
		"					return 3;\n" + 
4216
		"				case 207 :\n" + 
4217
		"					return 3;\n" + 
4218
		"				case 208 :\n" + 
4219
		"					return 3;\n" + 
4220
		"				case 209 :\n" + 
4221
		"					return 3;\n" + 
4222
		"				case 210 :\n" + 
4223
		"					return 3;\n" + 
4224
		"				case 211 :\n" + 
4225
		"					return 3;\n" + 
4226
		"				case 212 :\n" + 
4227
		"					return 3;\n" + 
4228
		"				case 213 :\n" + 
4229
		"					return 3;\n" + 
4230
		"				case 214 :\n" + 
4231
		"					return 3;\n" + 
4232
		"				case 215 :\n" + 
4233
		"					return 3;\n" + 
4234
		"				case 216 :\n" + 
4235
		"					return 3;\n" + 
4236
		"				case 217 :\n" + 
4237
		"					return 3;\n" + 
4238
		"				case 218 :\n" + 
4239
		"					return 3;\n" + 
4240
		"				case 219 :\n" + 
4241
		"					return 3;\n" + 
4242
		"				case 220 :\n" + 
4243
		"					return 3;\n" + 
4244
		"				case 221 :\n" + 
4245
		"					return 3;\n" + 
4246
		"				case 222 :\n" + 
4247
		"					return 3;\n" + 
4248
		"				case 223 :\n" + 
4249
		"					return 3;\n" + 
4250
		"				case 224 :\n" + 
4251
		"					return 3;\n" + 
4252
		"				case 225 :\n" + 
4253
		"					return 3;\n" + 
4254
		"				case 226 :\n" + 
4255
		"					return 3;\n" + 
4256
		"				case 227 :\n" + 
4257
		"					return 3;\n" + 
4258
		"				case 228 :\n" + 
4259
		"					return 3;\n" + 
4260
		"				case 229 :\n" + 
4261
		"					return 3;\n" + 
4262
		"				case 230 :\n" + 
4263
		"					return 3;\n" + 
4264
		"				case 231 :\n" + 
4265
		"					return 3;\n" + 
4266
		"				case 232 :\n" + 
4267
		"					return 3;\n" + 
4268
		"				case 233 :\n" + 
4269
		"					return 3;\n" + 
4270
		"				case 234 :\n" + 
4271
		"					return 3;\n" + 
4272
		"				case 235 :\n" + 
4273
		"					return 3;\n" + 
4274
		"				case 236 :\n" + 
4275
		"					return 3;\n" + 
4276
		"				case 237 :\n" + 
4277
		"					return 3;\n" + 
4278
		"				case 238 :\n" + 
4279
		"					return 3;\n" + 
4280
		"				case 239 :\n" + 
4281
		"					return 3;\n" + 
4282
		"				case 240 :\n" + 
4283
		"					return 3;\n" + 
4284
		"				case 241 :\n" + 
4285
		"					return 3;\n" + 
4286
		"				case 242 :\n" + 
4287
		"					return 3;\n" + 
4288
		"				case 243 :\n" + 
4289
		"					return 3;\n" + 
4290
		"				case 244 :\n" + 
4291
		"					return 3;\n" + 
4292
		"				case 245 :\n" + 
4293
		"					return 3;\n" + 
4294
		"				case 246 :\n" + 
4295
		"					return 3;\n" + 
4296
		"				case 247 :\n" + 
4297
		"					return 3;\n" + 
4298
		"				case 248 :\n" + 
4299
		"					return 3;\n" + 
4300
		"				case 249 :\n" + 
4301
		"					return 3;\n" + 
4302
		"				case 250 :\n" + 
4303
		"					return 3;\n" + 
4304
		"				case 251 :\n" + 
4305
		"					return 3;\n" + 
4306
		"				case 252 :\n" + 
4307
		"					return 3;\n" + 
4308
		"				case 253 :\n" + 
4309
		"					return 3;\n" + 
4310
		"				case 254 :\n" + 
4311
		"					return 3;\n" + 
4312
		"				case 255 :\n" + 
4313
		"					return 3;\n" + 
4314
		"				case 256 :\n" + 
4315
		"					return 3;\n" + 
4316
		"				case 257 :\n" + 
4317
		"					return 3;\n" + 
4318
		"				case 258 :\n" + 
4319
		"					return 3;\n" + 
4320
		"				case 259 :\n" + 
4321
		"					return 3;\n" + 
4322
		"				case 260 :\n" + 
4323
		"					return 3;\n" + 
4324
		"				case 261 :\n" + 
4325
		"					return 3;\n" + 
4326
		"				case 262 :\n" + 
4327
		"					return 3;\n" + 
4328
		"				case 263 :\n" + 
4329
		"					return 3;\n" + 
4330
		"				case 264 :\n" + 
4331
		"					return 3;\n" + 
4332
		"				case 265 :\n" + 
4333
		"					return 3;\n" + 
4334
		"				case 266 :\n" + 
4335
		"					return 3;\n" + 
4336
		"				case 267 :\n" + 
4337
		"					return 3;\n" + 
4338
		"				case 268 :\n" + 
4339
		"					return 3;\n" + 
4340
		"				case 269 :\n" + 
4341
		"					return 3;\n" + 
4342
		"				case 270 :\n" + 
4343
		"					return 3;\n" + 
4344
		"				case 271 :\n" + 
4345
		"					return 3;\n" + 
4346
		"				case 272 :\n" + 
4347
		"					return 3;\n" + 
4348
		"				case 273 :\n" + 
4349
		"					return 3;\n" + 
4350
		"				case 274 :\n" + 
4351
		"					return 3;\n" + 
4352
		"				case 275 :\n" + 
4353
		"					return 3;\n" + 
4354
		"				case 276 :\n" + 
4355
		"					return 3;\n" + 
4356
		"				case 277 :\n" + 
4357
		"					return 3;\n" + 
4358
		"				case 278 :\n" + 
4359
		"					return 3;\n" + 
4360
		"				case 279 :\n" + 
4361
		"					return 3;\n" + 
4362
		"				case 280 :\n" + 
4363
		"					return 3;\n" + 
4364
		"				case 281 :\n" + 
4365
		"					return 3;\n" + 
4366
		"				case 282 :\n" + 
4367
		"					return 3;\n" + 
4368
		"				case 283 :\n" + 
4369
		"					return 3;\n" + 
4370
		"				case 284 :\n" + 
4371
		"					return 3;\n" + 
4372
		"				case 285 :\n" + 
4373
		"					return 3;\n" + 
4374
		"				case 286 :\n" + 
4375
		"					return 3;\n" + 
4376
		"				case 287 :\n" + 
4377
		"					return 3;\n" + 
4378
		"				case 288 :\n" + 
4379
		"					return 3;\n" + 
4380
		"				case 289 :\n" + 
4381
		"					return 3;\n" + 
4382
		"				case 290 :\n" + 
4383
		"					return 3;\n" + 
4384
		"				case 291 :\n" + 
4385
		"					return 3;\n" + 
4386
		"				case 292 :\n" + 
4387
		"					return 3;\n" + 
4388
		"				case 293 :\n" + 
4389
		"					return 3;\n" + 
4390
		"				case 294 :\n" + 
4391
		"					return 3;\n" + 
4392
		"				case 295 :\n" + 
4393
		"					return 3;\n" + 
4394
		"				case 296 :\n" + 
4395
		"					return 3;\n" + 
4396
		"				case 297 :\n" + 
4397
		"					return 3;\n" + 
4398
		"				case 298 :\n" + 
4399
		"					return 3;\n" + 
4400
		"				case 299 :\n" + 
4401
		"					return 3;\n" + 
4402
		"				case 300 :\n" + 
4403
		"					return 3;\n" + 
4404
		"				case 301 :\n" + 
4405
		"					return 3;\n" + 
4406
		"				case 302 :\n" + 
4407
		"					return 3;\n" + 
4408
		"				case 303 :\n" + 
4409
		"					return 3;\n" + 
4410
		"				case 304 :\n" + 
4411
		"					return 3;\n" + 
4412
		"				case 305 :\n" + 
4413
		"					return 3;\n" + 
4414
		"				case 306 :\n" + 
4415
		"					return 3;\n" + 
4416
		"				case 307 :\n" + 
4417
		"					return 3;\n" + 
4418
		"				case 308 :\n" + 
4419
		"					return 3;\n" + 
4420
		"				case 309 :\n" + 
4421
		"					return 3;\n" + 
4422
		"				case 310 :\n" + 
4423
		"					return 3;\n" + 
4424
		"				case 311 :\n" + 
4425
		"					return 3;\n" + 
4426
		"				case 312 :\n" + 
4427
		"					return 3;\n" + 
4428
		"				case 313 :\n" + 
4429
		"					return 3;\n" + 
4430
		"				case 314 :\n" + 
4431
		"					return 3;\n" + 
4432
		"				case 315 :\n" + 
4433
		"					return 3;\n" + 
4434
		"				case 316 :\n" + 
4435
		"					return 3;\n" + 
4436
		"				case 317 :\n" + 
4437
		"					return 3;\n" + 
4438
		"				case 318 :\n" + 
4439
		"					return 3;\n" + 
4440
		"				case 319 :\n" + 
4441
		"					return 3;\n" + 
4442
		"				case 320 :\n" + 
4443
		"					return 3;\n" + 
4444
		"				case 321 :\n" + 
4445
		"					return 3;\n" + 
4446
		"				case 322 :\n" + 
4447
		"					return 3;\n" + 
4448
		"				case 323 :\n" + 
4449
		"					return 3;\n" + 
4450
		"				case 324 :\n" + 
4451
		"					return 3;\n" + 
4452
		"				case 325 :\n" + 
4453
		"					return 3;\n" + 
4454
		"				case 326 :\n" + 
4455
		"					return 3;\n" + 
4456
		"				case 327 :\n" + 
4457
		"					return 3;\n" + 
4458
		"				case 328 :\n" + 
4459
		"					return 3;\n" + 
4460
		"				case 329 :\n" + 
4461
		"					return 3;\n" + 
4462
		"				case 330 :\n" + 
4463
		"					return 3;\n" + 
4464
		"				case 331 :\n" + 
4465
		"					return 3;\n" + 
4466
		"				case 332 :\n" + 
4467
		"					return 3;\n" + 
4468
		"				case 333 :\n" + 
4469
		"					return 3;\n" + 
4470
		"				case 334 :\n" + 
4471
		"					return 3;\n" + 
4472
		"				case 335 :\n" + 
4473
		"					return 3;\n" + 
4474
		"				case 336 :\n" + 
4475
		"					return 3;\n" + 
4476
		"				case 337 :\n" + 
4477
		"					return 3;\n" + 
4478
		"				case 338 :\n" + 
4479
		"					return 3;\n" + 
4480
		"				case 339 :\n" + 
4481
		"					return 3;\n" + 
4482
		"				case 340 :\n" + 
4483
		"					return 3;\n" + 
4484
		"				case 341 :\n" + 
4485
		"					return 3;\n" + 
4486
		"				case 342 :\n" + 
4487
		"					return 3;\n" + 
4488
		"				case 343 :\n" + 
4489
		"					return 3;\n" + 
4490
		"				case 344 :\n" + 
4491
		"					return 3;\n" + 
4492
		"				case 345 :\n" + 
4493
		"					return 3;\n" + 
4494
		"				case 346 :\n" + 
4495
		"					return 3;\n" + 
4496
		"				case 347 :\n" + 
4497
		"					return 3;\n" + 
4498
		"				case 348 :\n" + 
4499
		"					return 3;\n" + 
4500
		"				case 349 :\n" + 
4501
		"					return 3;\n" + 
4502
		"				case 350 :\n" + 
4503
		"					return 3;\n" + 
4504
		"				case 351 :\n" + 
4505
		"					return 3;\n" + 
4506
		"				case 352 :\n" + 
4507
		"					return 3;\n" + 
4508
		"				case 353 :\n" + 
4509
		"					return 3;\n" + 
4510
		"				case 354 :\n" + 
4511
		"					return 3;\n" + 
4512
		"				case 355 :\n" + 
4513
		"					return 3;\n" + 
4514
		"				case 356 :\n" + 
4515
		"					return 3;\n" + 
4516
		"				case 357 :\n" + 
4517
		"					return 3;\n" + 
4518
		"				case 358 :\n" + 
4519
		"					return 3;\n" + 
4520
		"				case 359 :\n" + 
4521
		"					return 3;\n" + 
4522
		"				case 360 :\n" + 
4523
		"					return 3;\n" + 
4524
		"				case 361 :\n" + 
4525
		"					return 3;\n" + 
4526
		"				case 362 :\n" + 
4527
		"					return 3;\n" + 
4528
		"				case 363 :\n" + 
4529
		"					return 3;\n" + 
4530
		"				case 364 :\n" + 
4531
		"					return 3;\n" + 
4532
		"				case 365 :\n" + 
4533
		"					return 3;\n" + 
4534
		"				case 366 :\n" + 
4535
		"					return 3;\n" + 
4536
		"				case 367 :\n" + 
4537
		"					return 3;\n" + 
4538
		"				case 368 :\n" + 
4539
		"					return 3;\n" + 
4540
		"				case 369 :\n" + 
4541
		"					return 3;\n" + 
4542
		"				case 370 :\n" + 
4543
		"					return 3;\n" + 
4544
		"				case 371 :\n" + 
4545
		"					return 3;\n" + 
4546
		"				case 372 :\n" + 
4547
		"					return 3;\n" + 
4548
		"				case 373 :\n" + 
4549
		"					return 3;\n" + 
4550
		"				case 374 :\n" + 
4551
		"					return 3;\n" + 
4552
		"				case 375 :\n" + 
4553
		"					return 3;\n" + 
4554
		"				case 376 :\n" + 
4555
		"					return 3;\n" + 
4556
		"				case 377 :\n" + 
4557
		"					return 3;\n" + 
4558
		"				case 378 :\n" + 
4559
		"					return 3;\n" + 
4560
		"				case 379 :\n" + 
4561
		"					return 3;\n" + 
4562
		"				case 380 :\n" + 
4563
		"					return 3;\n" + 
4564
		"				case 381 :\n" + 
4565
		"					return 3;\n" + 
4566
		"				case 382 :\n" + 
4567
		"					return 3;\n" + 
4568
		"				case 383 :\n" + 
4569
		"					return 3;\n" + 
4570
		"				case 384 :\n" + 
4571
		"					return 3;\n" + 
4572
		"				case 385 :\n" + 
4573
		"					return 3;\n" + 
4574
		"				case 386 :\n" + 
4575
		"					return 3;\n" + 
4576
		"				case 387 :\n" + 
4577
		"					return 3;\n" + 
4578
		"				case 388 :\n" + 
4579
		"					return 3;\n" + 
4580
		"				case 389 :\n" + 
4581
		"					return 3;\n" + 
4582
		"				case 390 :\n" + 
4583
		"					return 3;\n" + 
4584
		"				case 391 :\n" + 
4585
		"					return 3;\n" + 
4586
		"				case 392 :\n" + 
4587
		"					return 3;\n" + 
4588
		"				case 393 :\n" + 
4589
		"					return 3;\n" + 
4590
		"				case 394 :\n" + 
4591
		"					return 3;\n" + 
4592
		"				case 395 :\n" + 
4593
		"					return 3;\n" + 
4594
		"				case 396 :\n" + 
4595
		"					return 3;\n" + 
4596
		"				case 397 :\n" + 
4597
		"					return 3;\n" + 
4598
		"				case 398 :\n" + 
4599
		"					return 3;\n" + 
4600
		"				case 399 :\n" + 
4601
		"					return 3;\n" + 
4602
		"				case 400 :\n" + 
4603
		"					return 3;\n" + 
4604
		"				case 401 :\n" + 
4605
		"					return 3;\n" + 
4606
		"				case 402 :\n" + 
4607
		"					return 3;\n" + 
4608
		"				case 403 :\n" + 
4609
		"					return 3;\n" + 
4610
		"				case 404 :\n" + 
4611
		"					return 3;\n" + 
4612
		"				case 405 :\n" + 
4613
		"					return 3;\n" + 
4614
		"				case 406 :\n" + 
4615
		"					return 3;\n" + 
4616
		"				case 407 :\n" + 
4617
		"					return 3;\n" + 
4618
		"				case 408 :\n" + 
4619
		"					return 3;\n" + 
4620
		"				case 409 :\n" + 
4621
		"					return 3;\n" + 
4622
		"				case 410 :\n" + 
4623
		"					return 3;\n" + 
4624
		"				case 411 :\n" + 
4625
		"					return 3;\n" + 
4626
		"				case 412 :\n" + 
4627
		"					return 3;\n" + 
4628
		"				case 413 :\n" + 
4629
		"					return 3;\n" + 
4630
		"				case 414 :\n" + 
4631
		"					return 3;\n" + 
4632
		"				case 415 :\n" + 
4633
		"					return 3;\n" + 
4634
		"				case 416 :\n" + 
4635
		"					return 3;\n" + 
4636
		"				case 417 :\n" + 
4637
		"					return 3;\n" + 
4638
		"				case 418 :\n" + 
4639
		"					return 3;\n" + 
4640
		"				case 419 :\n" + 
4641
		"					return 3;\n" + 
4642
		"				case 420 :\n" + 
4643
		"					return 3;\n" + 
4644
		"				case 421 :\n" + 
4645
		"					return 3;\n" + 
4646
		"				case 422 :\n" + 
4647
		"					return 3;\n" + 
4648
		"				case 423 :\n" + 
4649
		"					return 3;\n" + 
4650
		"				case 424 :\n" + 
4651
		"					return 3;\n" + 
4652
		"				case 425 :\n" + 
4653
		"					return 3;\n" + 
4654
		"				case 426 :\n" + 
4655
		"					return 3;\n" + 
4656
		"				case 427 :\n" + 
4657
		"					return 3;\n" + 
4658
		"				case 428 :\n" + 
4659
		"					return 3;\n" + 
4660
		"				case 429 :\n" + 
4661
		"					return 3;\n" + 
4662
		"				case 430 :\n" + 
4663
		"					return 3;\n" + 
4664
		"				case 431 :\n" + 
4665
		"					return 3;\n" + 
4666
		"				case 432 :\n" + 
4667
		"					return 3;\n" + 
4668
		"				case 433 :\n" + 
4669
		"					return 3;\n" + 
4670
		"				case 434 :\n" + 
4671
		"					return 3;\n" + 
4672
		"				case 435 :\n" + 
4673
		"					return 3;\n" + 
4674
		"				case 436 :\n" + 
4675
		"					return 3;\n" + 
4676
		"				case 437 :\n" + 
4677
		"					return 3;\n" + 
4678
		"				case 438 :\n" + 
4679
		"					return 3;\n" + 
4680
		"				case 439 :\n" + 
4681
		"					return 3;\n" + 
4682
		"				case 440 :\n" + 
4683
		"					return 3;\n" + 
4684
		"				case 441 :\n" + 
4685
		"					return 3;\n" + 
4686
		"				case 442 :\n" + 
4687
		"					return 3;\n" + 
4688
		"				case 443 :\n" + 
4689
		"					return 3;\n" + 
4690
		"				case 444 :\n" + 
4691
		"					return 3;\n" + 
4692
		"				case 445 :\n" + 
4693
		"					return 3;\n" + 
4694
		"				case 446 :\n" + 
4695
		"					return 3;\n" + 
4696
		"				case 447 :\n" + 
4697
		"					return 3;\n" + 
4698
		"				case 448 :\n" + 
4699
		"					return 3;\n" + 
4700
		"				case 449 :\n" + 
4701
		"					return 3;\n" + 
4702
		"				case 450 :\n" + 
4703
		"					return 3;\n" + 
4704
		"				case 451 :\n" + 
4705
		"					return 3;\n" + 
4706
		"				case 452 :\n" + 
4707
		"					return 3;\n" + 
4708
		"				case 453 :\n" + 
4709
		"					return 3;\n" + 
4710
		"				case 454 :\n" + 
4711
		"					return 3;\n" + 
4712
		"				case 455 :\n" + 
4713
		"					return 3;\n" + 
4714
		"				case 456 :\n" + 
4715
		"					return 3;\n" + 
4716
		"				case 457 :\n" + 
4717
		"					return 3;\n" + 
4718
		"				case 458 :\n" + 
4719
		"					return 3;\n" + 
4720
		"				case 459 :\n" + 
4721
		"					return 3;\n" + 
4722
		"				case 460 :\n" + 
4723
		"					return 3;\n" + 
4724
		"				case 461 :\n" + 
4725
		"					return 3;\n" + 
4726
		"				case 462 :\n" + 
4727
		"					return 3;\n" + 
4728
		"				case 463 :\n" + 
4729
		"					return 3;\n" + 
4730
		"				case 464 :\n" + 
4731
		"					return 3;\n" + 
4732
		"				case 465 :\n" + 
4733
		"					return 3;\n" + 
4734
		"				case 466 :\n" + 
4735
		"					return 3;\n" + 
4736
		"				case 467 :\n" + 
4737
		"					return 3;\n" + 
4738
		"				case 468 :\n" + 
4739
		"					return 3;\n" + 
4740
		"				case 469 :\n" + 
4741
		"					return 3;\n" + 
4742
		"				case 470 :\n" + 
4743
		"					return 3;\n" + 
4744
		"				case 471 :\n" + 
4745
		"					return 3;\n" + 
4746
		"				case 472 :\n" + 
4747
		"					return 3;\n" + 
4748
		"				case 473 :\n" + 
4749
		"					return 3;\n" + 
4750
		"				case 474 :\n" + 
4751
		"					return 3;\n" + 
4752
		"				case 475 :\n" + 
4753
		"					return 3;\n" + 
4754
		"				case 476 :\n" + 
4755
		"					return 3;\n" + 
4756
		"				case 477 :\n" + 
4757
		"					return 3;\n" + 
4758
		"				case 478 :\n" + 
4759
		"					return 3;\n" + 
4760
		"				case 479 :\n" + 
4761
		"					return 3;\n" + 
4762
		"				case 480 :\n" + 
4763
		"					return 3;\n" + 
4764
		"				case 481 :\n" + 
4765
		"					return 3;\n" + 
4766
		"				case 482 :\n" + 
4767
		"					return 3;\n" + 
4768
		"				case 483 :\n" + 
4769
		"					return 3;\n" + 
4770
		"				case 484 :\n" + 
4771
		"					return 3;\n" + 
4772
		"				case 485 :\n" + 
4773
		"					return 3;\n" + 
4774
		"				case 486 :\n" + 
4775
		"					return 3;\n" + 
4776
		"				case 487 :\n" + 
4777
		"					return 3;\n" + 
4778
		"				case 488 :\n" + 
4779
		"					return 3;\n" + 
4780
		"				case 489 :\n" + 
4781
		"					return 3;\n" + 
4782
		"				case 490 :\n" + 
4783
		"					return 3;\n" + 
4784
		"				case 491 :\n" + 
4785
		"					return 3;\n" + 
4786
		"				case 492 :\n" + 
4787
		"					return 3;\n" + 
4788
		"				case 493 :\n" + 
4789
		"					return 3;\n" + 
4790
		"				case 494 :\n" + 
4791
		"					return 3;\n" + 
4792
		"				case 495 :\n" + 
4793
		"					return 3;\n" + 
4794
		"				case 496 :\n" + 
4795
		"					return 3;\n" + 
4796
		"				case 497 :\n" + 
4797
		"					return 3;\n" + 
4798
		"				case 498 :\n" + 
4799
		"					return 3;\n" + 
4800
		"				case 499 :\n" + 
4801
		"					return 3;\n" + 
4802
		"				case 500 :\n" + 
4803
		"					return 3;\n" + 
4804
		"				case 501 :\n" + 
4805
		"					return 3;\n" + 
4806
		"				case 502 :\n" + 
4807
		"					return 3;\n" + 
4808
		"				case 503 :\n" + 
4809
		"					return 3;\n" + 
4810
		"				case 504 :\n" + 
4811
		"					return 3;\n" + 
4812
		"				case 505 :\n" + 
4813
		"					return 3;\n" + 
4814
		"				case 506 :\n" + 
4815
		"					return 3;\n" + 
4816
		"				case 507 :\n" + 
4817
		"					return 3;\n" + 
4818
		"				case 508 :\n" + 
4819
		"					return 3;\n" + 
4820
		"				case 509 :\n" + 
4821
		"					return 3;\n" + 
4822
		"				case 510 :\n" + 
4823
		"					return 3;\n" + 
4824
		"				case 511 :\n" + 
4825
		"					return 3;\n" + 
4826
		"				case 512 :\n" + 
4827
		"					return 3;\n" + 
4828
		"				case 513 :\n" + 
4829
		"					return 3;\n" + 
4830
		"				case 514 :\n" + 
4831
		"					return 3;\n" + 
4832
		"				case 515 :\n" + 
4833
		"					return 3;\n" + 
4834
		"				case 516 :\n" + 
4835
		"					return 3;\n" + 
4836
		"				case 517 :\n" + 
4837
		"					return 3;\n" + 
4838
		"				case 518 :\n" + 
4839
		"					return 3;\n" + 
4840
		"				case 519 :\n" + 
4841
		"					return 3;\n" + 
4842
		"				case 520 :\n" + 
4843
		"					return 3;\n" + 
4844
		"				case 521 :\n" + 
4845
		"					return 3;\n" + 
4846
		"				case 522 :\n" + 
4847
		"					return 3;\n" + 
4848
		"				case 523 :\n" + 
4849
		"					return 3;\n" + 
4850
		"				case 524 :\n" + 
4851
		"					return 3;\n" + 
4852
		"				case 525 :\n" + 
4853
		"					return 3;\n" + 
4854
		"				case 526 :\n" + 
4855
		"					return 3;\n" + 
4856
		"				case 527 :\n" + 
4857
		"					return 3;\n" + 
4858
		"				case 528 :\n" + 
4859
		"					return 3;\n" + 
4860
		"				case 529 :\n" + 
4861
		"					return 3;\n" + 
4862
		"				case 530 :\n" + 
4863
		"					return 3;\n" + 
4864
		"				case 531 :\n" + 
4865
		"					return 3;\n" + 
4866
		"				case 532 :\n" + 
4867
		"					return 3;\n" + 
4868
		"				case 533 :\n" + 
4869
		"					return 3;\n" + 
4870
		"				case 534 :\n" + 
4871
		"					return 3;\n" + 
4872
		"				case 535 :\n" + 
4873
		"					return 3;\n" + 
4874
		"				case 536 :\n" + 
4875
		"					return 3;\n" + 
4876
		"				case 537 :\n" + 
4877
		"					return 3;\n" + 
4878
		"				case 538 :\n" + 
4879
		"					return 3;\n" + 
4880
		"				case 539 :\n" + 
4881
		"					return 3;\n" + 
4882
		"				case 540 :\n" + 
4883
		"					return 3;\n" + 
4884
		"				case 541 :\n" + 
4885
		"					return 3;\n" + 
4886
		"				case 542 :\n" + 
4887
		"					return 3;\n" + 
4888
		"				case 543 :\n" + 
4889
		"					return 3;\n" + 
4890
		"				case 544 :\n" + 
4891
		"					return 3;\n" + 
4892
		"				case 545 :\n" + 
4893
		"					return 3;\n" + 
4894
		"				case 546 :\n" + 
4895
		"					return 3;\n" + 
4896
		"				case 547 :\n" + 
4897
		"					return 3;\n" + 
4898
		"				case 548 :\n" + 
4899
		"					return 3;\n" + 
4900
		"				case 549 :\n" + 
4901
		"					return 3;\n" + 
4902
		"				case 550 :\n" + 
4903
		"					return 3;\n" + 
4904
		"				case 551 :\n" + 
4905
		"					return 3;\n" + 
4906
		"				case 552 :\n" + 
4907
		"					return 3;\n" + 
4908
		"				case 553 :\n" + 
4909
		"					return 3;\n" + 
4910
		"				case 554 :\n" + 
4911
		"					return 3;\n" + 
4912
		"				case 555 :\n" + 
4913
		"					return 3;\n" + 
4914
		"				case 556 :\n" + 
4915
		"					return 3;\n" + 
4916
		"				case 557 :\n" + 
4917
		"					return 3;\n" + 
4918
		"				case 558 :\n" + 
4919
		"					return 3;\n" + 
4920
		"				case 559 :\n" + 
4921
		"					return 3;\n" + 
4922
		"				case 560 :\n" + 
4923
		"					return 3;\n" + 
4924
		"				case 561 :\n" + 
4925
		"					return 3;\n" + 
4926
		"				case 562 :\n" + 
4927
		"					return 3;\n" + 
4928
		"				case 563 :\n" + 
4929
		"					return 3;\n" + 
4930
		"				case 564 :\n" + 
4931
		"					return 3;\n" + 
4932
		"				case 565 :\n" + 
4933
		"					return 3;\n" + 
4934
		"				case 566 :\n" + 
4935
		"					return 3;\n" + 
4936
		"				case 567 :\n" + 
4937
		"					return 3;\n" + 
4938
		"				case 568 :\n" + 
4939
		"					return 3;\n" + 
4940
		"				case 569 :\n" + 
4941
		"					return 3;\n" + 
4942
		"				case 570 :\n" + 
4943
		"					return 3;\n" + 
4944
		"				case 571 :\n" + 
4945
		"					return 3;\n" + 
4946
		"				case 572 :\n" + 
4947
		"					return 3;\n" + 
4948
		"				case 573 :\n" + 
4949
		"					return 3;\n" + 
4950
		"				case 574 :\n" + 
4951
		"					return 3;\n" + 
4952
		"				case 575 :\n" + 
4953
		"					return 3;\n" + 
4954
		"				case 576 :\n" + 
4955
		"					return 3;\n" + 
4956
		"				case 577 :\n" + 
4957
		"					return 3;\n" + 
4958
		"				case 578 :\n" + 
4959
		"					return 3;\n" + 
4960
		"				case 579 :\n" + 
4961
		"					return 3;\n" + 
4962
		"				case 580 :\n" + 
4963
		"					return 3;\n" + 
4964
		"				case 581 :\n" + 
4965
		"					return 3;\n" + 
4966
		"				case 582 :\n" + 
4967
		"					return 3;\n" + 
4968
		"				case 583 :\n" + 
4969
		"					return 3;\n" + 
4970
		"				case 584 :\n" + 
4971
		"					return 3;\n" + 
4972
		"				case 585 :\n" + 
4973
		"					return 3;\n" + 
4974
		"				case 586 :\n" + 
4975
		"					return 3;\n" + 
4976
		"				case 587 :\n" + 
4977
		"					return 3;\n" + 
4978
		"				case 588 :\n" + 
4979
		"					return 3;\n" + 
4980
		"				case 589 :\n" + 
4981
		"					return 3;\n" + 
4982
		"				case 590 :\n" + 
4983
		"					return 3;\n" + 
4984
		"				case 591 :\n" + 
4985
		"					return 3;\n" + 
4986
		"				case 592 :\n" + 
4987
		"					return 3;\n" + 
4988
		"				case 593 :\n" + 
4989
		"					return 3;\n" + 
4990
		"				case 594 :\n" + 
4991
		"					return 3;\n" + 
4992
		"				case 595 :\n" + 
4993
		"					return 3;\n" + 
4994
		"				case 596 :\n" + 
4995
		"					return 3;\n" + 
4996
		"				case 597 :\n" + 
4997
		"					return 3;\n" + 
4998
		"				case 598 :\n" + 
4999
		"					return 3;\n" + 
5000
		"				case 599 :\n" + 
5001
		"					return 3;\n" + 
5002
		"				case 600 :\n" + 
5003
		"					return 3;\n" + 
5004
		"				case 601 :\n" + 
5005
		"					return 3;\n" + 
5006
		"				case 602 :\n" + 
5007
		"					return 3;\n" + 
5008
		"				case 603 :\n" + 
5009
		"					return 3;\n" + 
5010
		"				case 604 :\n" + 
5011
		"					return 3;\n" + 
5012
		"				case 605 :\n" + 
5013
		"					return 3;\n" + 
5014
		"				case 606 :\n" + 
5015
		"					return 3;\n" + 
5016
		"				case 607 :\n" + 
5017
		"					return 3;\n" + 
5018
		"				case 608 :\n" + 
5019
		"					return 3;\n" + 
5020
		"				case 609 :\n" + 
5021
		"					return 3;\n" + 
5022
		"				case 610 :\n" + 
5023
		"					return 3;\n" + 
5024
		"				case 611 :\n" + 
5025
		"					return 3;\n" + 
5026
		"				case 612 :\n" + 
5027
		"					return 3;\n" + 
5028
		"				case 613 :\n" + 
5029
		"					return 3;\n" + 
5030
		"				case 614 :\n" + 
5031
		"					return 3;\n" + 
5032
		"				case 615 :\n" + 
5033
		"					return 3;\n" + 
5034
		"				case 616 :\n" + 
5035
		"					return 3;\n" + 
5036
		"				case 617 :\n" + 
5037
		"					return 3;\n" + 
5038
		"				case 618 :\n" + 
5039
		"					return 3;\n" + 
5040
		"				case 619 :\n" + 
5041
		"					return 3;\n" + 
5042
		"				case 620 :\n" + 
5043
		"					return 3;\n" + 
5044
		"				case 621 :\n" + 
5045
		"					return 3;\n" + 
5046
		"				case 622 :\n" + 
5047
		"					return 3;\n" + 
5048
		"				case 623 :\n" + 
5049
		"					return 3;\n" + 
5050
		"				case 624 :\n" + 
5051
		"					return 3;\n" + 
5052
		"				case 625 :\n" + 
5053
		"					return 3;\n" + 
5054
		"				case 626 :\n" + 
5055
		"					return 3;\n" + 
5056
		"				case 627 :\n" + 
5057
		"					return 3;\n" + 
5058
		"				case 628 :\n" + 
5059
		"					return 3;\n" + 
5060
		"				case 629 :\n" + 
5061
		"					return 3;\n" + 
5062
		"				case 630 :\n" + 
5063
		"					return 3;\n" + 
5064
		"				case 631 :\n" + 
5065
		"					return 3;\n" + 
5066
		"				case 632 :\n" + 
5067
		"					return 3;\n" + 
5068
		"				case 633 :\n" + 
5069
		"					return 3;\n" + 
5070
		"				case 634 :\n" + 
5071
		"					return 3;\n" + 
5072
		"				case 635 :\n" + 
5073
		"					return 3;\n" + 
5074
		"				case 636 :\n" + 
5075
		"					return 3;\n" + 
5076
		"				case 637 :\n" + 
5077
		"					return 3;\n" + 
5078
		"				case 638 :\n" + 
5079
		"					return 3;\n" + 
5080
		"				case 639 :\n" + 
5081
		"					return 3;\n" + 
5082
		"				case 640 :\n" + 
5083
		"					return 3;\n" + 
5084
		"				case 641 :\n" + 
5085
		"					return 3;\n" + 
5086
		"				case 642 :\n" + 
5087
		"					return 3;\n" + 
5088
		"				case 643 :\n" + 
5089
		"					return 3;\n" + 
5090
		"				case 644 :\n" + 
5091
		"					return 3;\n" + 
5092
		"				case 645 :\n" + 
5093
		"					return 3;\n" + 
5094
		"				case 646 :\n" + 
5095
		"					return 3;\n" + 
5096
		"				case 647 :\n" + 
5097
		"					return 3;\n" + 
5098
		"				case 648 :\n" + 
5099
		"					return 3;\n" + 
5100
		"				case 649 :\n" + 
5101
		"					return 3;\n" + 
5102
		"				case 650 :\n" + 
5103
		"					return 3;\n" + 
5104
		"				case 651 :\n" + 
5105
		"					return 3;\n" + 
5106
		"				case 652 :\n" + 
5107
		"					return 3;\n" + 
5108
		"				case 653 :\n" + 
5109
		"					return 3;\n" + 
5110
		"				case 654 :\n" + 
5111
		"					return 3;\n" + 
5112
		"				case 655 :\n" + 
5113
		"					return 3;\n" + 
5114
		"				case 656 :\n" + 
5115
		"					return 3;\n" + 
5116
		"				case 657 :\n" + 
5117
		"					return 3;\n" + 
5118
		"				case 658 :\n" + 
5119
		"					return 3;\n" + 
5120
		"				case 659 :\n" + 
5121
		"					return 3;\n" + 
5122
		"				case 660 :\n" + 
5123
		"					return 3;\n" + 
5124
		"				case 661 :\n" + 
5125
		"					return 3;\n" + 
5126
		"				case 662 :\n" + 
5127
		"					return 3;\n" + 
5128
		"				case 663 :\n" + 
5129
		"					return 3;\n" + 
5130
		"				case 664 :\n" + 
5131
		"					return 3;\n" + 
5132
		"				case 665 :\n" + 
5133
		"					return 3;\n" + 
5134
		"				case 666 :\n" + 
5135
		"					return 3;\n" + 
5136
		"				case 667 :\n" + 
5137
		"					return 3;\n" + 
5138
		"				case 668 :\n" + 
5139
		"					return 3;\n" + 
5140
		"				case 669 :\n" + 
5141
		"					return 3;\n" + 
5142
		"				case 670 :\n" + 
5143
		"					return 3;\n" + 
5144
		"				case 671 :\n" + 
5145
		"					return 3;\n" + 
5146
		"				case 672 :\n" + 
5147
		"					return 3;\n" + 
5148
		"				case 673 :\n" + 
5149
		"					return 3;\n" + 
5150
		"				case 674 :\n" + 
5151
		"					return 3;\n" + 
5152
		"				case 675 :\n" + 
5153
		"					return 3;\n" + 
5154
		"				case 676 :\n" + 
5155
		"					return 3;\n" + 
5156
		"				case 677 :\n" + 
5157
		"					return 3;\n" + 
5158
		"				case 678 :\n" + 
5159
		"					return 3;\n" + 
5160
		"				case 679 :\n" + 
5161
		"					return 3;\n" + 
5162
		"				case 680 :\n" + 
5163
		"					return 3;\n" + 
5164
		"				case 681 :\n" + 
5165
		"					return 3;\n" + 
5166
		"				case 682 :\n" + 
5167
		"					return 3;\n" + 
5168
		"				case 683 :\n" + 
5169
		"					return 3;\n" + 
5170
		"				case 684 :\n" + 
5171
		"					return 3;\n" + 
5172
		"				case 685 :\n" + 
5173
		"					return 3;\n" + 
5174
		"				case 686 :\n" + 
5175
		"					return 3;\n" + 
5176
		"				case 687 :\n" + 
5177
		"					return 3;\n" + 
5178
		"				case 688 :\n" + 
5179
		"					return 3;\n" + 
5180
		"				case 689 :\n" + 
5181
		"					return 3;\n" + 
5182
		"				case 690 :\n" + 
5183
		"					return 3;\n" + 
5184
		"				case 691 :\n" + 
5185
		"					return 3;\n" + 
5186
		"				case 692 :\n" + 
5187
		"					return 3;\n" + 
5188
		"				case 693 :\n" + 
5189
		"					return 3;\n" + 
5190
		"				case 694 :\n" + 
5191
		"					return 3;\n" + 
5192
		"				case 695 :\n" + 
5193
		"					return 3;\n" + 
5194
		"				case 696 :\n" + 
5195
		"					return 3;\n" + 
5196
		"				case 697 :\n" + 
5197
		"					return 3;\n" + 
5198
		"				case 698 :\n" + 
5199
		"					return 3;\n" + 
5200
		"				case 699 :\n" + 
5201
		"					return 3;\n" + 
5202
		"				case 700 :\n" + 
5203
		"					return 3;\n" + 
5204
		"				case 701 :\n" + 
5205
		"					return 3;\n" + 
5206
		"				case 702 :\n" + 
5207
		"					return 3;\n" + 
5208
		"				case 703 :\n" + 
5209
		"					return 3;\n" + 
5210
		"				case 704 :\n" + 
5211
		"					return 3;\n" + 
5212
		"				case 705 :\n" + 
5213
		"					return 3;\n" + 
5214
		"				case 706 :\n" + 
5215
		"					return 3;\n" + 
5216
		"				case 707 :\n" + 
5217
		"					return 3;\n" + 
5218
		"				case 708 :\n" + 
5219
		"					return 3;\n" + 
5220
		"				case 709 :\n" + 
5221
		"					return 3;\n" + 
5222
		"				case 710 :\n" + 
5223
		"					return 3;\n" + 
5224
		"				case 711 :\n" + 
5225
		"					return 3;\n" + 
5226
		"				case 712 :\n" + 
5227
		"					return 3;\n" + 
5228
		"				case 713 :\n" + 
5229
		"					return 3;\n" + 
5230
		"				case 714 :\n" + 
5231
		"					return 3;\n" + 
5232
		"				case 715 :\n" + 
5233
		"					return 3;\n" + 
5234
		"				case 716 :\n" + 
5235
		"					return 3;\n" + 
5236
		"				case 717 :\n" + 
5237
		"					return 3;\n" + 
5238
		"				case 718 :\n" + 
5239
		"					return 3;\n" + 
5240
		"				case 719 :\n" + 
5241
		"					return 3;\n" + 
5242
		"				case 720 :\n" + 
5243
		"					return 3;\n" + 
5244
		"				case 721 :\n" + 
5245
		"					return 3;\n" + 
5246
		"				case 722 :\n" + 
5247
		"					return 3;\n" + 
5248
		"				case 723 :\n" + 
5249
		"					return 3;\n" + 
5250
		"				case 724 :\n" + 
5251
		"					return 3;\n" + 
5252
		"				case 725 :\n" + 
5253
		"					return 3;\n" + 
5254
		"				case 726 :\n" + 
5255
		"					return 3;\n" + 
5256
		"				case 727 :\n" + 
5257
		"					return 3;\n" + 
5258
		"				case 728 :\n" + 
5259
		"					return 3;\n" + 
5260
		"				case 729 :\n" + 
5261
		"					return 3;\n" + 
5262
		"				case 730 :\n" + 
5263
		"					return 3;\n" + 
5264
		"				case 731 :\n" + 
5265
		"					return 3;\n" + 
5266
		"				case 732 :\n" + 
5267
		"					return 3;\n" + 
5268
		"				case 733 :\n" + 
5269
		"					return 3;\n" + 
5270
		"				case 734 :\n" + 
5271
		"					return 3;\n" + 
5272
		"				case 735 :\n" + 
5273
		"					return 3;\n" + 
5274
		"				case 736 :\n" + 
5275
		"					return 3;\n" + 
5276
		"				case 737 :\n" + 
5277
		"					return 3;\n" + 
5278
		"				case 738 :\n" + 
5279
		"					return 3;\n" + 
5280
		"				case 739 :\n" + 
5281
		"					return 3;\n" + 
5282
		"				case 740 :\n" + 
5283
		"					return 3;\n" + 
5284
		"				case 741 :\n" + 
5285
		"					return 3;\n" + 
5286
		"				case 742 :\n" + 
5287
		"					return 3;\n" + 
5288
		"				case 743 :\n" + 
5289
		"					return 3;\n" + 
5290
		"				case 744 :\n" + 
5291
		"					return 3;\n" + 
5292
		"				case 745 :\n" + 
5293
		"					return 3;\n" + 
5294
		"				case 746 :\n" + 
5295
		"					return 3;\n" + 
5296
		"				case 747 :\n" + 
5297
		"					return 3;\n" + 
5298
		"				case 748 :\n" + 
5299
		"					return 3;\n" + 
5300
		"				case 749 :\n" + 
5301
		"					return 3;\n" + 
5302
		"				case 750 :\n" + 
5303
		"					return 3;\n" + 
5304
		"				case 751 :\n" + 
5305
		"					return 3;\n" + 
5306
		"				case 752 :\n" + 
5307
		"					return 3;\n" + 
5308
		"				case 753 :\n" + 
5309
		"					return 3;\n" + 
5310
		"				case 754 :\n" + 
5311
		"					return 3;\n" + 
5312
		"				case 755 :\n" + 
5313
		"					return 3;\n" + 
5314
		"				case 756 :\n" + 
5315
		"					return 3;\n" + 
5316
		"				case 757 :\n" + 
5317
		"					return 3;\n" + 
5318
		"				case 758 :\n" + 
5319
		"					return 3;\n" + 
5320
		"				case 759 :\n" + 
5321
		"					return 3;\n" + 
5322
		"				case 760 :\n" + 
5323
		"					return 3;\n" + 
5324
		"				case 761 :\n" + 
5325
		"					return 3;\n" + 
5326
		"				case 762 :\n" + 
5327
		"					return 3;\n" + 
5328
		"				case 763 :\n" + 
5329
		"					return 3;\n" + 
5330
		"				case 764 :\n" + 
5331
		"					return 3;\n" + 
5332
		"				case 765 :\n" + 
5333
		"					return 3;\n" + 
5334
		"				case 766 :\n" + 
5335
		"					return 3;\n" + 
5336
		"				case 767 :\n" + 
5337
		"					return 3;\n" + 
5338
		"				case 768 :\n" + 
5339
		"					return 3;\n" + 
5340
		"				case 769 :\n" + 
5341
		"					return 3;\n" + 
5342
		"				case 770 :\n" + 
5343
		"					return 3;\n" + 
5344
		"				case 771 :\n" + 
5345
		"					return 3;\n" + 
5346
		"				case 772 :\n" + 
5347
		"					return 3;\n" + 
5348
		"				case 773 :\n" + 
5349
		"					return 3;\n" + 
5350
		"				case 774 :\n" + 
5351
		"					return 3;\n" + 
5352
		"				case 775 :\n" + 
5353
		"					return 3;\n" + 
5354
		"				case 776 :\n" + 
5355
		"					return 3;\n" + 
5356
		"				case 777 :\n" + 
5357
		"					return 3;\n" + 
5358
		"				case 778 :\n" + 
5359
		"					return 3;\n" + 
5360
		"				case 779 :\n" + 
5361
		"					return 3;\n" + 
5362
		"				case 780 :\n" + 
5363
		"					return 3;\n" + 
5364
		"				case 781 :\n" + 
5365
		"					return 3;\n" + 
5366
		"				case 782 :\n" + 
5367
		"					return 3;\n" + 
5368
		"				case 783 :\n" + 
5369
		"					return 3;\n" + 
5370
		"				case 784 :\n" + 
5371
		"					return 3;\n" + 
5372
		"				case 785 :\n" + 
5373
		"					return 3;\n" + 
5374
		"				case 786 :\n" + 
5375
		"					return 3;\n" + 
5376
		"				case 787 :\n" + 
5377
		"					return 3;\n" + 
5378
		"				case 788 :\n" + 
5379
		"					return 3;\n" + 
5380
		"				case 789 :\n" + 
5381
		"					return 3;\n" + 
5382
		"				case 790 :\n" + 
5383
		"					return 3;\n" + 
5384
		"				case 791 :\n" + 
5385
		"					return 3;\n" + 
5386
		"				case 792 :\n" + 
5387
		"					return 3;\n" + 
5388
		"				case 793 :\n" + 
5389
		"					return 3;\n" + 
5390
		"				case 794 :\n" + 
5391
		"					return 3;\n" + 
5392
		"				case 795 :\n" + 
5393
		"					return 3;\n" + 
5394
		"				case 796 :\n" + 
5395
		"					return 3;\n" + 
5396
		"				case 797 :\n" + 
5397
		"					return 3;\n" + 
5398
		"				case 798 :\n" + 
5399
		"					return 3;\n" + 
5400
		"				case 799 :\n" + 
5401
		"					return 3;\n" + 
5402
		"				case 800 :\n" + 
5403
		"					return 3;\n" + 
5404
		"				case 801 :\n" + 
5405
		"					return 3;\n" + 
5406
		"				case 802 :\n" + 
5407
		"					return 3;\n" + 
5408
		"				case 803 :\n" + 
5409
		"					return 3;\n" + 
5410
		"				case 804 :\n" + 
5411
		"					return 3;\n" + 
5412
		"				case 805 :\n" + 
5413
		"					return 3;\n" + 
5414
		"				case 806 :\n" + 
5415
		"					return 3;\n" + 
5416
		"				case 807 :\n" + 
5417
		"					return 3;\n" + 
5418
		"				case 808 :\n" + 
5419
		"					return 3;\n" + 
5420
		"				case 809 :\n" + 
5421
		"					return 3;\n" + 
5422
		"				case 810 :\n" + 
5423
		"					return 3;\n" + 
5424
		"				case 811 :\n" + 
5425
		"					return 3;\n" + 
5426
		"				case 812 :\n" + 
5427
		"					return 3;\n" + 
5428
		"				case 813 :\n" + 
5429
		"					return 3;\n" + 
5430
		"				case 814 :\n" + 
5431
		"					return 3;\n" + 
5432
		"				case 815 :\n" + 
5433
		"					return 3;\n" + 
5434
		"				case 816 :\n" + 
5435
		"					return 3;\n" + 
5436
		"				case 817 :\n" + 
5437
		"					return 3;\n" + 
5438
		"				case 818 :\n" + 
5439
		"					return 3;\n" + 
5440
		"				case 819 :\n" + 
5441
		"					return 3;\n" + 
5442
		"				case 820 :\n" + 
5443
		"					return 3;\n" + 
5444
		"				case 821 :\n" + 
5445
		"					return 3;\n" + 
5446
		"				case 822 :\n" + 
5447
		"					return 3;\n" + 
5448
		"				case 823 :\n" + 
5449
		"					return 3;\n" + 
5450
		"				case 824 :\n" + 
5451
		"					return 3;\n" + 
5452
		"				case 825 :\n" + 
5453
		"					return 3;\n" + 
5454
		"				case 826 :\n" + 
5455
		"					return 3;\n" + 
5456
		"				case 827 :\n" + 
5457
		"					return 3;\n" + 
5458
		"				case 828 :\n" + 
5459
		"					return 3;\n" + 
5460
		"				case 829 :\n" + 
5461
		"					return 3;\n" + 
5462
		"				case 830 :\n" + 
5463
		"					return 3;\n" + 
5464
		"				case 831 :\n" + 
5465
		"					return 3;\n" + 
5466
		"				case 832 :\n" + 
5467
		"					return 3;\n" + 
5468
		"				case 833 :\n" + 
5469
		"					return 3;\n" + 
5470
		"				case 834 :\n" + 
5471
		"					return 3;\n" + 
5472
		"				case 835 :\n" + 
5473
		"					return 3;\n" + 
5474
		"				case 836 :\n" + 
5475
		"					return 3;\n" + 
5476
		"				case 837 :\n" + 
5477
		"					return 3;\n" + 
5478
		"				case 838 :\n" + 
5479
		"					return 3;\n" + 
5480
		"				case 839 :\n" + 
5481
		"					return 3;\n" + 
5482
		"				case 840 :\n" + 
5483
		"					return 3;\n" + 
5484
		"				case 841 :\n" + 
5485
		"					return 3;\n" + 
5486
		"				case 842 :\n" + 
5487
		"					return 3;\n" + 
5488
		"				case 843 :\n" + 
5489
		"					return 3;\n" + 
5490
		"				case 844 :\n" + 
5491
		"					return 3;\n" + 
5492
		"				case 845 :\n" + 
5493
		"					return 3;\n" + 
5494
		"				case 846 :\n" + 
5495
		"					return 3;\n" + 
5496
		"				case 847 :\n" + 
5497
		"					return 3;\n" + 
5498
		"				case 848 :\n" + 
5499
		"					return 3;\n" + 
5500
		"				case 849 :\n" + 
5501
		"					return 3;\n" + 
5502
		"				case 850 :\n" + 
5503
		"					return 3;\n" + 
5504
		"				case 851 :\n" + 
5505
		"					return 3;\n" + 
5506
		"				case 852 :\n" + 
5507
		"					return 3;\n" + 
5508
		"				case 853 :\n" + 
5509
		"					return 3;\n" + 
5510
		"				case 854 :\n" + 
5511
		"					return 3;\n" + 
5512
		"				case 855 :\n" + 
5513
		"					return 3;\n" + 
5514
		"				case 856 :\n" + 
5515
		"					return 3;\n" + 
5516
		"				case 857 :\n" + 
5517
		"					return 3;\n" + 
5518
		"				case 858 :\n" + 
5519
		"					return 3;\n" + 
5520
		"				case 859 :\n" + 
5521
		"					return 3;\n" + 
5522
		"				case 860 :\n" + 
5523
		"					return 3;\n" + 
5524
		"				case 861 :\n" + 
5525
		"					return 3;\n" + 
5526
		"				case 862 :\n" + 
5527
		"					return 3;\n" + 
5528
		"				case 863 :\n" + 
5529
		"					return 3;\n" + 
5530
		"				case 864 :\n" + 
5531
		"					return 3;\n" + 
5532
		"				case 865 :\n" + 
5533
		"					return 3;\n" + 
5534
		"				case 866 :\n" + 
5535
		"					return 3;\n" + 
5536
		"				case 867 :\n" + 
5537
		"					return 3;\n" + 
5538
		"				case 868 :\n" + 
5539
		"					return 3;\n" + 
5540
		"				case 869 :\n" + 
5541
		"					return 3;\n" + 
5542
		"				case 870 :\n" + 
5543
		"					return 3;\n" + 
5544
		"				case 871 :\n" + 
5545
		"					return 3;\n" + 
5546
		"				case 872 :\n" + 
5547
		"					return 3;\n" + 
5548
		"				case 873 :\n" + 
5549
		"					return 3;\n" + 
5550
		"				case 874 :\n" + 
5551
		"					return 3;\n" + 
5552
		"				case 875 :\n" + 
5553
		"					return 3;\n" + 
5554
		"				case 876 :\n" + 
5555
		"					return 3;\n" + 
5556
		"				case 877 :\n" + 
5557
		"					return 3;\n" + 
5558
		"				case 878 :\n" + 
5559
		"					return 3;\n" + 
5560
		"				case 879 :\n" + 
5561
		"					return 3;\n" + 
5562
		"				case 880 :\n" + 
5563
		"					return 3;\n" + 
5564
		"				case 881 :\n" + 
5565
		"					return 3;\n" + 
5566
		"				case 882 :\n" + 
5567
		"					return 3;\n" + 
5568
		"				case 883 :\n" + 
5569
		"					return 3;\n" + 
5570
		"				case 884 :\n" + 
5571
		"					return 3;\n" + 
5572
		"				case 885 :\n" + 
5573
		"					return 3;\n" + 
5574
		"				case 886 :\n" + 
5575
		"					return 3;\n" + 
5576
		"				case 887 :\n" + 
5577
		"					return 3;\n" + 
5578
		"				case 888 :\n" + 
5579
		"					return 3;\n" + 
5580
		"				case 889 :\n" + 
5581
		"					return 3;\n" + 
5582
		"				case 890 :\n" + 
5583
		"					return 3;\n" + 
5584
		"				case 891 :\n" + 
5585
		"					return 3;\n" + 
5586
		"				case 892 :\n" + 
5587
		"					return 3;\n" + 
5588
		"				case 893 :\n" + 
5589
		"					return 3;\n" + 
5590
		"				case 894 :\n" + 
5591
		"					return 3;\n" + 
5592
		"				case 895 :\n" + 
5593
		"					return 3;\n" + 
5594
		"				case 896 :\n" + 
5595
		"					return 3;\n" + 
5596
		"				case 897 :\n" + 
5597
		"					return 3;\n" + 
5598
		"				case 898 :\n" + 
5599
		"					return 3;\n" + 
5600
		"				case 899 :\n" + 
5601
		"					return 3;\n" + 
5602
		"				case 900 :\n" + 
5603
		"					return 3;\n" + 
5604
		"				case 901 :\n" + 
5605
		"					return 3;\n" + 
5606
		"				case 902 :\n" + 
5607
		"					return 3;\n" + 
5608
		"				case 903 :\n" + 
5609
		"					return 3;\n" + 
5610
		"				case 904 :\n" + 
5611
		"					return 3;\n" + 
5612
		"				case 905 :\n" + 
5613
		"					return 3;\n" + 
5614
		"				case 906 :\n" + 
5615
		"					return 3;\n" + 
5616
		"				case 907 :\n" + 
5617
		"					return 3;\n" + 
5618
		"				case 908 :\n" + 
5619
		"					return 3;\n" + 
5620
		"				case 909 :\n" + 
5621
		"					return 3;\n" + 
5622
		"				case 910 :\n" + 
5623
		"					return 3;\n" + 
5624
		"				case 911 :\n" + 
5625
		"					return 3;\n" + 
5626
		"				case 912 :\n" + 
5627
		"					return 3;\n" + 
5628
		"				case 913 :\n" + 
5629
		"					return 3;\n" + 
5630
		"				case 914 :\n" + 
5631
		"					return 3;\n" + 
5632
		"				case 915 :\n" + 
5633
		"					return 3;\n" + 
5634
		"				case 916 :\n" + 
5635
		"					return 3;\n" + 
5636
		"				case 917 :\n" + 
5637
		"					return 3;\n" + 
5638
		"				case 918 :\n" + 
5639
		"					return 3;\n" + 
5640
		"				case 919 :\n" + 
5641
		"					return 3;\n" + 
5642
		"				case 920 :\n" + 
5643
		"					return 3;\n" + 
5644
		"				case 921 :\n" + 
5645
		"					return 3;\n" + 
5646
		"				case 922 :\n" + 
5647
		"					return 3;\n" + 
5648
		"				case 923 :\n" + 
5649
		"					return 3;\n" + 
5650
		"				case 924 :\n" + 
5651
		"					return 3;\n" + 
5652
		"				case 925 :\n" + 
5653
		"					return 3;\n" + 
5654
		"				case 926 :\n" + 
5655
		"					return 3;\n" + 
5656
		"				case 927 :\n" + 
5657
		"					return 3;\n" + 
5658
		"				case 928 :\n" + 
5659
		"					return 3;\n" + 
5660
		"				case 929 :\n" + 
5661
		"					return 3;\n" + 
5662
		"				case 930 :\n" + 
5663
		"					return 3;\n" + 
5664
		"				case 931 :\n" + 
5665
		"					return 3;\n" + 
5666
		"				case 932 :\n" + 
5667
		"					return 3;\n" + 
5668
		"				case 933 :\n" + 
5669
		"					return 3;\n" + 
5670
		"				case 934 :\n" + 
5671
		"					return 3;\n" + 
5672
		"				case 935 :\n" + 
5673
		"					return 3;\n" + 
5674
		"				case 936 :\n" + 
5675
		"					return 3;\n" + 
5676
		"				case 937 :\n" + 
5677
		"					return 3;\n" + 
5678
		"				case 938 :\n" + 
5679
		"					return 3;\n" + 
5680
		"				case 939 :\n" + 
5681
		"					return 3;\n" + 
5682
		"				case 940 :\n" + 
5683
		"					return 3;\n" + 
5684
		"				case 941 :\n" + 
5685
		"					return 3;\n" + 
5686
		"				case 942 :\n" + 
5687
		"					return 3;\n" + 
5688
		"				case 943 :\n" + 
5689
		"					return 3;\n" + 
5690
		"				case 944 :\n" + 
5691
		"					return 3;\n" + 
5692
		"				case 945 :\n" + 
5693
		"					return 3;\n" + 
5694
		"				case 946 :\n" + 
5695
		"					return 3;\n" + 
5696
		"				case 947 :\n" + 
5697
		"					return 3;\n" + 
5698
		"				case 948 :\n" + 
5699
		"					return 3;\n" + 
5700
		"				case 949 :\n" + 
5701
		"					return 3;\n" + 
5702
		"				case 950 :\n" + 
5703
		"					return 3;\n" + 
5704
		"				case 951 :\n" + 
5705
		"					return 3;\n" + 
5706
		"				case 952 :\n" + 
5707
		"					return 3;\n" + 
5708
		"				case 953 :\n" + 
5709
		"					return 3;\n" + 
5710
		"				case 954 :\n" + 
5711
		"					return 3;\n" + 
5712
		"				case 955 :\n" + 
5713
		"					return 3;\n" + 
5714
		"				case 956 :\n" + 
5715
		"					return 3;\n" + 
5716
		"				case 957 :\n" + 
5717
		"					return 3;\n" + 
5718
		"				case 958 :\n" + 
5719
		"					return 3;\n" + 
5720
		"				case 959 :\n" + 
5721
		"					return 3;\n" + 
5722
		"				case 960 :\n" + 
5723
		"					return 3;\n" + 
5724
		"				case 961 :\n" + 
5725
		"					return 3;\n" + 
5726
		"				case 962 :\n" + 
5727
		"					return 3;\n" + 
5728
		"				case 963 :\n" + 
5729
		"					return 3;\n" + 
5730
		"				case 964 :\n" + 
5731
		"					return 3;\n" + 
5732
		"				case 965 :\n" + 
5733
		"					return 3;\n" + 
5734
		"				case 966 :\n" + 
5735
		"					return 3;\n" + 
5736
		"				case 967 :\n" + 
5737
		"					return 3;\n" + 
5738
		"				case 968 :\n" + 
5739
		"					return 3;\n" + 
5740
		"				case 969 :\n" + 
5741
		"					return 3;\n" + 
5742
		"				case 970 :\n" + 
5743
		"					return 3;\n" + 
5744
		"				case 971 :\n" + 
5745
		"					return 3;\n" + 
5746
		"				case 972 :\n" + 
5747
		"					return 3;\n" + 
5748
		"				case 973 :\n" + 
5749
		"					return 3;\n" + 
5750
		"				case 974 :\n" + 
5751
		"					return 3;\n" + 
5752
		"				case 975 :\n" + 
5753
		"					return 3;\n" + 
5754
		"				case 976 :\n" + 
5755
		"					return 3;\n" + 
5756
		"				case 977 :\n" + 
5757
		"					return 3;\n" + 
5758
		"				case 978 :\n" + 
5759
		"					return 3;\n" + 
5760
		"				case 979 :\n" + 
5761
		"					return 3;\n" + 
5762
		"				case 980 :\n" + 
5763
		"					return 3;\n" + 
5764
		"				case 981 :\n" + 
5765
		"					return 3;\n" + 
5766
		"				case 982 :\n" + 
5767
		"					return 3;\n" + 
5768
		"				case 983 :\n" + 
5769
		"					return 3;\n" + 
5770
		"				case 984 :\n" + 
5771
		"					return 3;\n" + 
5772
		"				case 985 :\n" + 
5773
		"					return 3;\n" + 
5774
		"				case 986 :\n" + 
5775
		"					return 3;\n" + 
5776
		"				case 987 :\n" + 
5777
		"					return 3;\n" + 
5778
		"				case 988 :\n" + 
5779
		"					return 3;\n" + 
5780
		"				case 989 :\n" + 
5781
		"					return 3;\n" + 
5782
		"				case 990 :\n" + 
5783
		"					return 3;\n" + 
5784
		"				case 991 :\n" + 
5785
		"					return 3;\n" + 
5786
		"				case 992 :\n" + 
5787
		"					return 3;\n" + 
5788
		"				case 993 :\n" + 
5789
		"					return 3;\n" + 
5790
		"				case 994 :\n" + 
5791
		"					return 3;\n" + 
5792
		"				case 995 :\n" + 
5793
		"					return 3;\n" + 
5794
		"				case 996 :\n" + 
5795
		"					return 3;\n" + 
5796
		"				case 997 :\n" + 
5797
		"					return 3;\n" + 
5798
		"				case 998 :\n" + 
5799
		"					return 3;\n" + 
5800
		"				case 999 :\n" + 
5801
		"					return 3;\n" + 
5802
		"				case 1000 :\n" + 
5803
		"					return 3;\n" + 
5804
		"				case 1001 :\n" + 
5805
		"					return 3;\n" + 
5806
		"				case 1002 :\n" + 
5807
		"					return 3;\n" + 
5808
		"				case 1003 :\n" + 
5809
		"					return 3;\n" + 
5810
		"				case 1004 :\n" + 
5811
		"					return 3;\n" + 
5812
		"				case 1005 :\n" + 
5813
		"					return 3;\n" + 
5814
		"				case 1006 :\n" + 
5815
		"					return 3;\n" + 
5816
		"				case 1007 :\n" + 
5817
		"					return 3;\n" + 
5818
		"				case 1008 :\n" + 
5819
		"					return 3;\n" + 
5820
		"				case 1009 :\n" + 
5821
		"					return 3;\n" + 
5822
		"				case 1010 :\n" + 
5823
		"					return 3;\n" + 
5824
		"				case 1011 :\n" + 
5825
		"					return 3;\n" + 
5826
		"				case 1012 :\n" + 
5827
		"					return 3;\n" + 
5828
		"				case 1013 :\n" + 
5829
		"					return 3;\n" + 
5830
		"				case 1014 :\n" + 
5831
		"					return 3;\n" + 
5832
		"				case 1015 :\n" + 
5833
		"					return 3;\n" + 
5834
		"				case 1016 :\n" + 
5835
		"					return 3;\n" + 
5836
		"				case 1017 :\n" + 
5837
		"					return 3;\n" + 
5838
		"				case 1018 :\n" + 
5839
		"					return 3;\n" + 
5840
		"				case 1019 :\n" + 
5841
		"					return 3;\n" + 
5842
		"				case 1020 :\n" + 
5843
		"					return 3;\n" + 
5844
		"				case 1021 :\n" + 
5845
		"					return 3;\n" + 
5846
		"				case 1022 :\n" + 
5847
		"					return 3;\n" + 
5848
		"				case 1023 :\n" + 
5849
		"					return 3;\n" + 
5850
		"				case 1024 :\n" + 
5851
		"					return 3;\n" + 
5852
		"				case 1025 :\n" + 
5853
		"					return 3;\n" + 
5854
		"				case 1026 :\n" + 
5855
		"					return 3;\n" + 
5856
		"				case 1027 :\n" + 
5857
		"					return 3;\n" + 
5858
		"				case 1028 :\n" + 
5859
		"					return 3;\n" + 
5860
		"				case 1029 :\n" + 
5861
		"					return 3;\n" + 
5862
		"				case 1030 :\n" + 
5863
		"					return 3;\n" + 
5864
		"				case 1031 :\n" + 
5865
		"					return 3;\n" + 
5866
		"				case 1032 :\n" + 
5867
		"					return 3;\n" + 
5868
		"				case 1033 :\n" + 
5869
		"					return 3;\n" + 
5870
		"				case 1034 :\n" + 
5871
		"					return 3;\n" + 
5872
		"				case 1035 :\n" + 
5873
		"					return 3;\n" + 
5874
		"				case 1036 :\n" + 
5875
		"					return 3;\n" + 
5876
		"				case 1037 :\n" + 
5877
		"					return 3;\n" + 
5878
		"				case 1038 :\n" + 
5879
		"					return 3;\n" + 
5880
		"				case 1039 :\n" + 
5881
		"					return 3;\n" + 
5882
		"				case 1040 :\n" + 
5883
		"					return 3;\n" + 
5884
		"				case 1041 :\n" + 
5885
		"					return 3;\n" + 
5886
		"				case 1042 :\n" + 
5887
		"					return 3;\n" + 
5888
		"				case 1043 :\n" + 
5889
		"					return 3;\n" + 
5890
		"				case 1044 :\n" + 
5891
		"					return 3;\n" + 
5892
		"				case 1045 :\n" + 
5893
		"					return 3;\n" + 
5894
		"				case 1046 :\n" + 
5895
		"					return 3;\n" + 
5896
		"				case 1047 :\n" + 
5897
		"					return 3;\n" + 
5898
		"				case 1048 :\n" + 
5899
		"					return 3;\n" + 
5900
		"				case 1049 :\n" + 
5901
		"					return 3;\n" + 
5902
		"				case 1050 :\n" + 
5903
		"					return 3;\n" + 
5904
		"				case 1051 :\n" + 
5905
		"					return 3;\n" + 
5906
		"				case 1052 :\n" + 
5907
		"					return 3;\n" + 
5908
		"				case 1053 :\n" + 
5909
		"					return 3;\n" + 
5910
		"				case 1054 :\n" + 
5911
		"					return 3;\n" + 
5912
		"				case 1055 :\n" + 
5913
		"					return 3;\n" + 
5914
		"				case 1056 :\n" + 
5915
		"					return 3;\n" + 
5916
		"				case 1057 :\n" + 
5917
		"					return 3;\n" + 
5918
		"				case 1058 :\n" + 
5919
		"					return 3;\n" + 
5920
		"				case 1059 :\n" + 
5921
		"					return 3;\n" + 
5922
		"				case 1060 :\n" + 
5923
		"					return 3;\n" + 
5924
		"				case 1061 :\n" + 
5925
		"					return 3;\n" + 
5926
		"				case 1062 :\n" + 
5927
		"					return 3;\n" + 
5928
		"				case 1063 :\n" + 
5929
		"					return 3;\n" + 
5930
		"				case 1064 :\n" + 
5931
		"					return 3;\n" + 
5932
		"				case 1065 :\n" + 
5933
		"					return 3;\n" + 
5934
		"				case 1066 :\n" + 
5935
		"					return 3;\n" + 
5936
		"				case 1067 :\n" + 
5937
		"					return 3;\n" + 
5938
		"				case 1068 :\n" + 
5939
		"					return 3;\n" + 
5940
		"				case 1069 :\n" + 
5941
		"					return 3;\n" + 
5942
		"				case 1070 :\n" + 
5943
		"					return 3;\n" + 
5944
		"				case 1071 :\n" + 
5945
		"					return 3;\n" + 
5946
		"				case 1072 :\n" + 
5947
		"					return 3;\n" + 
5948
		"				case 1073 :\n" + 
5949
		"					return 3;\n" + 
5950
		"				case 1074 :\n" + 
5951
		"					return 3;\n" + 
5952
		"				case 1075 :\n" + 
5953
		"					return 3;\n" + 
5954
		"				case 1076 :\n" + 
5955
		"					return 3;\n" + 
5956
		"				case 1077 :\n" + 
5957
		"					return 3;\n" + 
5958
		"				case 1078 :\n" + 
5959
		"					return 3;\n" + 
5960
		"				case 1079 :\n" + 
5961
		"					return 3;\n" + 
5962
		"				case 1080 :\n" + 
5963
		"					return 3;\n" + 
5964
		"				case 1081 :\n" + 
5965
		"					return 3;\n" + 
5966
		"				case 1082 :\n" + 
5967
		"					return 3;\n" + 
5968
		"				case 1083 :\n" + 
5969
		"					return 3;\n" + 
5970
		"				case 1084 :\n" + 
5971
		"					return 3;\n" + 
5972
		"				case 1085 :\n" + 
5973
		"					return 3;\n" + 
5974
		"				case 1086 :\n" + 
5975
		"					return 3;\n" + 
5976
		"				case 1087 :\n" + 
5977
		"					return 3;\n" + 
5978
		"				case 1088 :\n" + 
5979
		"					return 3;\n" + 
5980
		"				case 1089 :\n" + 
5981
		"					return 3;\n" + 
5982
		"				case 1090 :\n" + 
5983
		"					return 3;\n" + 
5984
		"				case 1091 :\n" + 
5985
		"					return 3;\n" + 
5986
		"				case 1092 :\n" + 
5987
		"					return 3;\n" + 
5988
		"				case 1093 :\n" + 
5989
		"					return 3;\n" + 
5990
		"				case 1094 :\n" + 
5991
		"					return 3;\n" + 
5992
		"				case 1095 :\n" + 
5993
		"					return 3;\n" + 
5994
		"				case 1096 :\n" + 
5995
		"					return 3;\n" + 
5996
		"				case 1097 :\n" + 
5997
		"					return 3;\n" + 
5998
		"				case 1098 :\n" + 
5999
		"					return 3;\n" + 
6000
		"				case 1099 :\n" + 
6001
		"					return 3;\n" + 
6002
		"				case 1100 :\n" + 
6003
		"					return 3;\n" + 
6004
		"				case 1101 :\n" + 
6005
		"					return 3;\n" + 
6006
		"				case 1102 :\n" + 
6007
		"					return 3;\n" + 
6008
		"				case 1103 :\n" + 
6009
		"					return 3;\n" + 
6010
		"				case 1104 :\n" + 
6011
		"					return 3;\n" + 
6012
		"				case 1105 :\n" + 
6013
		"					return 3;\n" + 
6014
		"				case 1106 :\n" + 
6015
		"					return 3;\n" + 
6016
		"				case 1107 :\n" + 
6017
		"					return 3;\n" + 
6018
		"				case 1108 :\n" + 
6019
		"					return 3;\n" + 
6020
		"				case 1109 :\n" + 
6021
		"					return 3;\n" + 
6022
		"				case 1110 :\n" + 
6023
		"					return 3;\n" + 
6024
		"				case 1111 :\n" + 
6025
		"					return 3;\n" + 
6026
		"				case 1112 :\n" + 
6027
		"					return 3;\n" + 
6028
		"				case 1113 :\n" + 
6029
		"					return 3;\n" + 
6030
		"				case 1114 :\n" + 
6031
		"					return 3;\n" + 
6032
		"				case 1115 :\n" + 
6033
		"					return 3;\n" + 
6034
		"				case 1116 :\n" + 
6035
		"					return 3;\n" + 
6036
		"				case 1117 :\n" + 
6037
		"					return 3;\n" + 
6038
		"				case 1118 :\n" + 
6039
		"					return 3;\n" + 
6040
		"				case 1119 :\n" + 
6041
		"					return 3;\n" + 
6042
		"				case 1120 :\n" + 
6043
		"					return 3;\n" + 
6044
		"				case 1121 :\n" + 
6045
		"					return 3;\n" + 
6046
		"				case 1122 :\n" + 
6047
		"					return 3;\n" + 
6048
		"				case 1123 :\n" + 
6049
		"					return 3;\n" + 
6050
		"				case 1124 :\n" + 
6051
		"					return 3;\n" + 
6052
		"				case 1125 :\n" + 
6053
		"					return 3;\n" + 
6054
		"				case 1126 :\n" + 
6055
		"					return 3;\n" + 
6056
		"				case 1127 :\n" + 
6057
		"					return 3;\n" + 
6058
		"				case 1128 :\n" + 
6059
		"					return 3;\n" + 
6060
		"				case 1129 :\n" + 
6061
		"					return 3;\n" + 
6062
		"				case 1130 :\n" + 
6063
		"					return 3;\n" + 
6064
		"				case 1131 :\n" + 
6065
		"					return 3;\n" + 
6066
		"				case 1132 :\n" + 
6067
		"					return 3;\n" + 
6068
		"				case 1133 :\n" + 
6069
		"					return 3;\n" + 
6070
		"				case 1134 :\n" + 
6071
		"					return 3;\n" + 
6072
		"				case 1135 :\n" + 
6073
		"					return 3;\n" + 
6074
		"				case 1136 :\n" + 
6075
		"					return 3;\n" + 
6076
		"				case 1137 :\n" + 
6077
		"					return 3;\n" + 
6078
		"				case 1138 :\n" + 
6079
		"					return 3;\n" + 
6080
		"				case 1139 :\n" + 
6081
		"					return 3;\n" + 
6082
		"				case 1140 :\n" + 
6083
		"					return 3;\n" + 
6084
		"				case 1141 :\n" + 
6085
		"					return 3;\n" + 
6086
		"				case 1142 :\n" + 
6087
		"					return 3;\n" + 
6088
		"				case 1143 :\n" + 
6089
		"					return 3;\n" + 
6090
		"				case 1144 :\n" + 
6091
		"					return 3;\n" + 
6092
		"				case 1145 :\n" + 
6093
		"					return 3;\n" + 
6094
		"				case 1146 :\n" + 
6095
		"					return 3;\n" + 
6096
		"				case 1147 :\n" + 
6097
		"					return 3;\n" + 
6098
		"				case 1148 :\n" + 
6099
		"					return 3;\n" + 
6100
		"				case 1149 :\n" + 
6101
		"					return 3;\n" + 
6102
		"				case 1150 :\n" + 
6103
		"					return 3;\n" + 
6104
		"				case 1151 :\n" + 
6105
		"					return 3;\n" + 
6106
		"				case 1152 :\n" + 
6107
		"					return 3;\n" + 
6108
		"				case 1153 :\n" + 
6109
		"					return 3;\n" + 
6110
		"				case 1154 :\n" + 
6111
		"					return 3;\n" + 
6112
		"				case 1155 :\n" + 
6113
		"					return 3;\n" + 
6114
		"				case 1156 :\n" + 
6115
		"					return 3;\n" + 
6116
		"				case 1157 :\n" + 
6117
		"					return 3;\n" + 
6118
		"				case 1158 :\n" + 
6119
		"					return 3;\n" + 
6120
		"				case 1159 :\n" + 
6121
		"					return 3;\n" + 
6122
		"				case 1160 :\n" + 
6123
		"					return 3;\n" + 
6124
		"				case 1161 :\n" + 
6125
		"					return 3;\n" + 
6126
		"				case 1162 :\n" + 
6127
		"					return 3;\n" + 
6128
		"				case 1163 :\n" + 
6129
		"					return 3;\n" + 
6130
		"				case 1164 :\n" + 
6131
		"					return 3;\n" + 
6132
		"				case 1165 :\n" + 
6133
		"					return 3;\n" + 
6134
		"				case 1166 :\n" + 
6135
		"					return 3;\n" + 
6136
		"				case 1167 :\n" + 
6137
		"					return 3;\n" + 
6138
		"				case 1168 :\n" + 
6139
		"					return 3;\n" + 
6140
		"				case 1169 :\n" + 
6141
		"					return 3;\n" + 
6142
		"				case 1170 :\n" + 
6143
		"					return 3;\n" + 
6144
		"				case 1171 :\n" + 
6145
		"					return 3;\n" + 
6146
		"				case 1172 :\n" + 
6147
		"					return 3;\n" + 
6148
		"				case 1173 :\n" + 
6149
		"					return 3;\n" + 
6150
		"				case 1174 :\n" + 
6151
		"					return 3;\n" + 
6152
		"				case 1175 :\n" + 
6153
		"					return 3;\n" + 
6154
		"				case 1176 :\n" + 
6155
		"					return 3;\n" + 
6156
		"				case 1177 :\n" + 
6157
		"					return 3;\n" + 
6158
		"				case 1178 :\n" + 
6159
		"					return 3;\n" + 
6160
		"				case 1179 :\n" + 
6161
		"					return 3;\n" + 
6162
		"				case 1180 :\n" + 
6163
		"					return 3;\n" + 
6164
		"				case 1181 :\n" + 
6165
		"					return 3;\n" + 
6166
		"				case 1182 :\n" + 
6167
		"					return 3;\n" + 
6168
		"				case 1183 :\n" + 
6169
		"					return 3;\n" + 
6170
		"				case 1184 :\n" + 
6171
		"					return 3;\n" + 
6172
		"				case 1185 :\n" + 
6173
		"					return 3;\n" + 
6174
		"				case 1186 :\n" + 
6175
		"					return 3;\n" + 
6176
		"				case 1187 :\n" + 
6177
		"					return 3;\n" + 
6178
		"				case 1188 :\n" + 
6179
		"					return 3;\n" + 
6180
		"				case 1189 :\n" + 
6181
		"					return 3;\n" + 
6182
		"				case 1190 :\n" + 
6183
		"					return 3;\n" + 
6184
		"				case 1191 :\n" + 
6185
		"					return 3;\n" + 
6186
		"				case 1192 :\n" + 
6187
		"					return 3;\n" + 
6188
		"				case 1193 :\n" + 
6189
		"					return 3;\n" + 
6190
		"				case 1194 :\n" + 
6191
		"					return 3;\n" + 
6192
		"				case 1195 :\n" + 
6193
		"					return 3;\n" + 
6194
		"				case 1196 :\n" + 
6195
		"					return 3;\n" + 
6196
		"				case 1197 :\n" + 
6197
		"					return 3;\n" + 
6198
		"				case 1198 :\n" + 
6199
		"					return 3;\n" + 
6200
		"				case 1199 :\n" + 
6201
		"					return 3;\n" + 
6202
		"				case 1200 :\n" + 
6203
		"					return 3;\n" + 
6204
		"				case 1201 :\n" + 
6205
		"					return 3;\n" + 
6206
		"				case 1202 :\n" + 
6207
		"					return 3;\n" + 
6208
		"				case 1203 :\n" + 
6209
		"					return 3;\n" + 
6210
		"				case 1204 :\n" + 
6211
		"					return 3;\n" + 
6212
		"				case 1205 :\n" + 
6213
		"					return 3;\n" + 
6214
		"				case 1206 :\n" + 
6215
		"					return 3;\n" + 
6216
		"				case 1207 :\n" + 
6217
		"					return 3;\n" + 
6218
		"				case 1208 :\n" + 
6219
		"					return 3;\n" + 
6220
		"				case 1209 :\n" + 
6221
		"					return 3;\n" + 
6222
		"				case 1210 :\n" + 
6223
		"					return 3;\n" + 
6224
		"				case 1211 :\n" + 
6225
		"					return 3;\n" + 
6226
		"				case 1212 :\n" + 
6227
		"					return 3;\n" + 
6228
		"				case 1213 :\n" + 
6229
		"					return 3;\n" + 
6230
		"				case 1214 :\n" + 
6231
		"					return 3;\n" + 
6232
		"				case 1215 :\n" + 
6233
		"					return 3;\n" + 
6234
		"				case 1216 :\n" + 
6235
		"					return 3;\n" + 
6236
		"				case 1217 :\n" + 
6237
		"					return 3;\n" + 
6238
		"				case 1218 :\n" + 
6239
		"					return 3;\n" + 
6240
		"				case 1219 :\n" + 
6241
		"					return 3;\n" + 
6242
		"				case 1220 :\n" + 
6243
		"					return 3;\n" + 
6244
		"				case 1221 :\n" + 
6245
		"					return 3;\n" + 
6246
		"				case 1222 :\n" + 
6247
		"					return 3;\n" + 
6248
		"				case 1223 :\n" + 
6249
		"					return 3;\n" + 
6250
		"				case 1224 :\n" + 
6251
		"					return 3;\n" + 
6252
		"				case 1225 :\n" + 
6253
		"					return 3;\n" + 
6254
		"				case 1226 :\n" + 
6255
		"					return 3;\n" + 
6256
		"				case 1227 :\n" + 
6257
		"					return 3;\n" + 
6258
		"				case 1228 :\n" + 
6259
		"					return 3;\n" + 
6260
		"				case 1229 :\n" + 
6261
		"					return 3;\n" + 
6262
		"				case 1230 :\n" + 
6263
		"					return 3;\n" + 
6264
		"				case 1231 :\n" + 
6265
		"					return 3;\n" + 
6266
		"				case 1232 :\n" + 
6267
		"					return 3;\n" + 
6268
		"				case 1233 :\n" + 
6269
		"					return 3;\n" + 
6270
		"				case 1234 :\n" + 
6271
		"					return 3;\n" + 
6272
		"				case 1235 :\n" + 
6273
		"					return 3;\n" + 
6274
		"				case 1236 :\n" + 
6275
		"					return 3;\n" + 
6276
		"				case 1237 :\n" + 
6277
		"					return 3;\n" + 
6278
		"				case 1238 :\n" + 
6279
		"					return 3;\n" + 
6280
		"				case 1239 :\n" + 
6281
		"					return 3;\n" + 
6282
		"				case 1240 :\n" + 
6283
		"					return 3;\n" + 
6284
		"				case 1241 :\n" + 
6285
		"					return 3;\n" + 
6286
		"				case 1242 :\n" + 
6287
		"					return 3;\n" + 
6288
		"				case 1243 :\n" + 
6289
		"					return 3;\n" + 
6290
		"				case 1244 :\n" + 
6291
		"					return 3;\n" + 
6292
		"				case 1245 :\n" + 
6293
		"					return 3;\n" + 
6294
		"				case 1246 :\n" + 
6295
		"					return 3;\n" + 
6296
		"				case 1247 :\n" + 
6297
		"					return 3;\n" + 
6298
		"				case 1248 :\n" + 
6299
		"					return 3;\n" + 
6300
		"				case 1249 :\n" + 
6301
		"					return 3;\n" + 
6302
		"				case 1250 :\n" + 
6303
		"					return 3;\n" + 
6304
		"				case 1251 :\n" + 
6305
		"					return 3;\n" + 
6306
		"				case 1252 :\n" + 
6307
		"					return 3;\n" + 
6308
		"				case 1253 :\n" + 
6309
		"					return 3;\n" + 
6310
		"				case 1254 :\n" + 
6311
		"					return 3;\n" + 
6312
		"				case 1255 :\n" + 
6313
		"					return 3;\n" + 
6314
		"				case 1256 :\n" + 
6315
		"					return 3;\n" + 
6316
		"				case 1257 :\n" + 
6317
		"					return 3;\n" + 
6318
		"				case 1258 :\n" + 
6319
		"					return 3;\n" + 
6320
		"				case 1259 :\n" + 
6321
		"					return 3;\n" + 
6322
		"				case 1260 :\n" + 
6323
		"					return 3;\n" + 
6324
		"				case 1261 :\n" + 
6325
		"					return 3;\n" + 
6326
		"				case 1262 :\n" + 
6327
		"					return 3;\n" + 
6328
		"				case 1263 :\n" + 
6329
		"					return 3;\n" + 
6330
		"				case 1264 :\n" + 
6331
		"					return 3;\n" + 
6332
		"				case 1265 :\n" + 
6333
		"					return 3;\n" + 
6334
		"				case 1266 :\n" + 
6335
		"					return 3;\n" + 
6336
		"				case 1267 :\n" + 
6337
		"					return 3;\n" + 
6338
		"				case 1268 :\n" + 
6339
		"					return 3;\n" + 
6340
		"				case 1269 :\n" + 
6341
		"					return 3;\n" + 
6342
		"				case 1270 :\n" + 
6343
		"					return 3;\n" + 
6344
		"				case 1271 :\n" + 
6345
		"					return 3;\n" + 
6346
		"				case 1272 :\n" + 
6347
		"					return 3;\n" + 
6348
		"				case 1273 :\n" + 
6349
		"					return 3;\n" + 
6350
		"				case 1274 :\n" + 
6351
		"					return 3;\n" + 
6352
		"				case 1275 :\n" + 
6353
		"					return 3;\n" + 
6354
		"				case 1276 :\n" + 
6355
		"					return 3;\n" + 
6356
		"				case 1277 :\n" + 
6357
		"					return 3;\n" + 
6358
		"				case 1278 :\n" + 
6359
		"					return 3;\n" + 
6360
		"				case 1279 :\n" + 
6361
		"					return 3;\n" + 
6362
		"				case 1280 :\n" + 
6363
		"					return 3;\n" + 
6364
		"				case 1281 :\n" + 
6365
		"					return 3;\n" + 
6366
		"				case 1282 :\n" + 
6367
		"					return 3;\n" + 
6368
		"				case 1283 :\n" + 
6369
		"					return 3;\n" + 
6370
		"				case 1284 :\n" + 
6371
		"					return 3;\n" + 
6372
		"				case 1285 :\n" + 
6373
		"					return 3;\n" + 
6374
		"				case 1286 :\n" + 
6375
		"					return 3;\n" + 
6376
		"				case 1287 :\n" + 
6377
		"					return 3;\n" + 
6378
		"				case 1288 :\n" + 
6379
		"					return 3;\n" + 
6380
		"				case 1289 :\n" + 
6381
		"					return 3;\n" + 
6382
		"				case 1290 :\n" + 
6383
		"					return 3;\n" + 
6384
		"				case 1291 :\n" + 
6385
		"					return 3;\n" + 
6386
		"				case 1292 :\n" + 
6387
		"					return 3;\n" + 
6388
		"				case 1293 :\n" + 
6389
		"					return 3;\n" + 
6390
		"				case 1294 :\n" + 
6391
		"					return 3;\n" + 
6392
		"				case 1295 :\n" + 
6393
		"					return 3;\n" + 
6394
		"				case 1296 :\n" + 
6395
		"					return 3;\n" + 
6396
		"				case 1297 :\n" + 
6397
		"					return 3;\n" + 
6398
		"				case 1298 :\n" + 
6399
		"					return 3;\n" + 
6400
		"				case 1299 :\n" + 
6401
		"					return 3;\n" + 
6402
		"				case 1300 :\n" + 
6403
		"					return 3;\n" + 
6404
		"				case 1301 :\n" + 
6405
		"					return 3;\n" + 
6406
		"				case 1302 :\n" + 
6407
		"					return 3;\n" + 
6408
		"				case 1303 :\n" + 
6409
		"					return 3;\n" + 
6410
		"				case 1304 :\n" + 
6411
		"					return 3;\n" + 
6412
		"				case 1305 :\n" + 
6413
		"					return 3;\n" + 
6414
		"				case 1306 :\n" + 
6415
		"					return 3;\n" + 
6416
		"				case 1307 :\n" + 
6417
		"					return 3;\n" + 
6418
		"				case 1308 :\n" + 
6419
		"					return 3;\n" + 
6420
		"				case 1309 :\n" + 
6421
		"					return 3;\n" + 
6422
		"				case 1310 :\n" + 
6423
		"					return 3;\n" + 
6424
		"				case 1311 :\n" + 
6425
		"					return 3;\n" + 
6426
		"				case 1312 :\n" + 
6427
		"					return 3;\n" + 
6428
		"				case 1313 :\n" + 
6429
		"					return 3;\n" + 
6430
		"				case 1314 :\n" + 
6431
		"					return 3;\n" + 
6432
		"				case 1315 :\n" + 
6433
		"					return 3;\n" + 
6434
		"				case 1316 :\n" + 
6435
		"					return 3;\n" + 
6436
		"				case 1317 :\n" + 
6437
		"					return 3;\n" + 
6438
		"				case 1318 :\n" + 
6439
		"					return 3;\n" + 
6440
		"				case 1319 :\n" + 
6441
		"					return 3;\n" + 
6442
		"				case 1320 :\n" + 
6443
		"					return 3;\n" + 
6444
		"				case 1321 :\n" + 
6445
		"					return 3;\n" + 
6446
		"				case 1322 :\n" + 
6447
		"					return 3;\n" + 
6448
		"				case 1323 :\n" + 
6449
		"					return 3;\n" + 
6450
		"				case 1324 :\n" + 
6451
		"					return 3;\n" + 
6452
		"				case 1325 :\n" + 
6453
		"					return 3;\n" + 
6454
		"				case 1326 :\n" + 
6455
		"					return 3;\n" + 
6456
		"				case 1327 :\n" + 
6457
		"					return 3;\n" + 
6458
		"				case 1328 :\n" + 
6459
		"					return 3;\n" + 
6460
		"				case 1329 :\n" + 
6461
		"					return 3;\n" + 
6462
		"				case 1330 :\n" + 
6463
		"					return 3;\n" + 
6464
		"				case 1331 :\n" + 
6465
		"					return 3;\n" + 
6466
		"				case 1332 :\n" + 
6467
		"					return 3;\n" + 
6468
		"				case 1333 :\n" + 
6469
		"					return 3;\n" + 
6470
		"				case 1334 :\n" + 
6471
		"					return 3;\n" + 
6472
		"				case 1335 :\n" + 
6473
		"					return 3;\n" + 
6474
		"				case 1336 :\n" + 
6475
		"					return 3;\n" + 
6476
		"				case 1337 :\n" + 
6477
		"					return 3;\n" + 
6478
		"				case 1338 :\n" + 
6479
		"					return 3;\n" + 
6480
		"				case 1339 :\n" + 
6481
		"					return 3;\n" + 
6482
		"				case 1340 :\n" + 
6483
		"					return 3;\n" + 
6484
		"				case 1341 :\n" + 
6485
		"					return 3;\n" + 
6486
		"				case 1342 :\n" + 
6487
		"					return 3;\n" + 
6488
		"				case 1343 :\n" + 
6489
		"					return 3;\n" + 
6490
		"				case 1344 :\n" + 
6491
		"					return 3;\n" + 
6492
		"				case 1345 :\n" + 
6493
		"					return 3;\n" + 
6494
		"				case 1346 :\n" + 
6495
		"					return 3;\n" + 
6496
		"				case 1347 :\n" + 
6497
		"					return 3;\n" + 
6498
		"				case 1348 :\n" + 
6499
		"					return 3;\n" + 
6500
		"				case 1349 :\n" + 
6501
		"					return 3;\n" + 
6502
		"				case 1350 :\n" + 
6503
		"					return 3;\n" + 
6504
		"				case 1351 :\n" + 
6505
		"					return 3;\n" + 
6506
		"				case 1352 :\n" + 
6507
		"					return 3;\n" + 
6508
		"				case 1353 :\n" + 
6509
		"					return 3;\n" + 
6510
		"				case 1354 :\n" + 
6511
		"					return 3;\n" + 
6512
		"				case 1355 :\n" + 
6513
		"					return 3;\n" + 
6514
		"				case 1356 :\n" + 
6515
		"					return 3;\n" + 
6516
		"				case 1357 :\n" + 
6517
		"					return 3;\n" + 
6518
		"				case 1358 :\n" + 
6519
		"					return 3;\n" + 
6520
		"				case 1359 :\n" + 
6521
		"					return 3;\n" + 
6522
		"				case 1360 :\n" + 
6523
		"					return 3;\n" + 
6524
		"				case 1361 :\n" + 
6525
		"					return 3;\n" + 
6526
		"				case 1362 :\n" + 
6527
		"					return 3;\n" + 
6528
		"				case 1363 :\n" + 
6529
		"					return 3;\n" + 
6530
		"				case 1364 :\n" + 
6531
		"					return 3;\n" + 
6532
		"				case 1365 :\n" + 
6533
		"					return 3;\n" + 
6534
		"				case 1366 :\n" + 
6535
		"					return 3;\n" + 
6536
		"				case 1367 :\n" + 
6537
		"					return 3;\n" + 
6538
		"				case 1368 :\n" + 
6539
		"					return 3;\n" + 
6540
		"				case 1369 :\n" + 
6541
		"					return 3;\n" + 
6542
		"				case 1370 :\n" + 
6543
		"					return 3;\n" + 
6544
		"				case 1371 :\n" + 
6545
		"					return 3;\n" + 
6546
		"				case 1372 :\n" + 
6547
		"					return 3;\n" + 
6548
		"				case 1373 :\n" + 
6549
		"					return 3;\n" + 
6550
		"				case 1374 :\n" + 
6551
		"					return 3;\n" + 
6552
		"				case 1375 :\n" + 
6553
		"					return 3;\n" + 
6554
		"				case 1376 :\n" + 
6555
		"					return 3;\n" + 
6556
		"				case 1377 :\n" + 
6557
		"					return 3;\n" + 
6558
		"				case 1378 :\n" + 
6559
		"					return 3;\n" + 
6560
		"				case 1379 :\n" + 
6561
		"					return 3;\n" + 
6562
		"				case 1380 :\n" + 
6563
		"					return 3;\n" + 
6564
		"				case 1381 :\n" + 
6565
		"					return 3;\n" + 
6566
		"				case 1382 :\n" + 
6567
		"					return 3;\n" + 
6568
		"				case 1383 :\n" + 
6569
		"					return 3;\n" + 
6570
		"				case 1384 :\n" + 
6571
		"					return 3;\n" + 
6572
		"				case 1385 :\n" + 
6573
		"					return 3;\n" + 
6574
		"				case 1386 :\n" + 
6575
		"					return 3;\n" + 
6576
		"				case 1387 :\n" + 
6577
		"					return 3;\n" + 
6578
		"				case 1388 :\n" + 
6579
		"					return 3;\n" + 
6580
		"				case 1389 :\n" + 
6581
		"					return 3;\n" + 
6582
		"				case 1390 :\n" + 
6583
		"					return 3;\n" + 
6584
		"				case 1391 :\n" + 
6585
		"					return 3;\n" + 
6586
		"				case 1392 :\n" + 
6587
		"					return 3;\n" + 
6588
		"				case 1393 :\n" + 
6589
		"					return 3;\n" + 
6590
		"				case 1394 :\n" + 
6591
		"					return 3;\n" + 
6592
		"				case 1395 :\n" + 
6593
		"					return 3;\n" + 
6594
		"				case 1396 :\n" + 
6595
		"					return 3;\n" + 
6596
		"				case 1397 :\n" + 
6597
		"					return 3;\n" + 
6598
		"				case 1398 :\n" + 
6599
		"					return 3;\n" + 
6600
		"				case 1399 :\n" + 
6601
		"					return 3;\n" + 
6602
		"				case 1400 :\n" + 
6603
		"					return 3;\n" + 
6604
		"				case 1401 :\n" + 
6605
		"					return 3;\n" + 
6606
		"				case 1402 :\n" + 
6607
		"					return 3;\n" + 
6608
		"				case 1403 :\n" + 
6609
		"					return 3;\n" + 
6610
		"				case 1404 :\n" + 
6611
		"					return 3;\n" + 
6612
		"				case 1405 :\n" + 
6613
		"					return 3;\n" + 
6614
		"				case 1406 :\n" + 
6615
		"					return 3;\n" + 
6616
		"				case 1407 :\n" + 
6617
		"					return 3;\n" + 
6618
		"				case 1408 :\n" + 
6619
		"					return 3;\n" + 
6620
		"				case 1409 :\n" + 
6621
		"					return 3;\n" + 
6622
		"				case 1410 :\n" + 
6623
		"					return 3;\n" + 
6624
		"				case 1411 :\n" + 
6625
		"					return 3;\n" + 
6626
		"				case 1412 :\n" + 
6627
		"					return 3;\n" + 
6628
		"				case 1413 :\n" + 
6629
		"					return 3;\n" + 
6630
		"				case 1414 :\n" + 
6631
		"					return 3;\n" + 
6632
		"				case 1415 :\n" + 
6633
		"					return 3;\n" + 
6634
		"				case 1416 :\n" + 
6635
		"					return 3;\n" + 
6636
		"				case 1417 :\n" + 
6637
		"					return 3;\n" + 
6638
		"				case 1418 :\n" + 
6639
		"					return 3;\n" + 
6640
		"				case 1419 :\n" + 
6641
		"					return 3;\n" + 
6642
		"				case 1420 :\n" + 
6643
		"					return 3;\n" + 
6644
		"				case 1421 :\n" + 
6645
		"					return 3;\n" + 
6646
		"				case 1422 :\n" + 
6647
		"					return 3;\n" + 
6648
		"				case 1423 :\n" + 
6649
		"					return 3;\n" + 
6650
		"				case 1424 :\n" + 
6651
		"					return 3;\n" + 
6652
		"				case 1425 :\n" + 
6653
		"					return 3;\n" + 
6654
		"				case 1426 :\n" + 
6655
		"					return 3;\n" + 
6656
		"				case 1427 :\n" + 
6657
		"					return 3;\n" + 
6658
		"				case 1428 :\n" + 
6659
		"					return 3;\n" + 
6660
		"				case 1429 :\n" + 
6661
		"					return 3;\n" + 
6662
		"				case 1430 :\n" + 
6663
		"					return 3;\n" + 
6664
		"				case 1431 :\n" + 
6665
		"					return 3;\n" + 
6666
		"				case 1432 :\n" + 
6667
		"					return 3;\n" + 
6668
		"				case 1433 :\n" + 
6669
		"					return 3;\n" + 
6670
		"				case 1434 :\n" + 
6671
		"					return 3;\n" + 
6672
		"				case 1435 :\n" + 
6673
		"					return 3;\n" + 
6674
		"				case 1436 :\n" + 
6675
		"					return 3;\n" + 
6676
		"				case 1437 :\n" + 
6677
		"					return 3;\n" + 
6678
		"				case 1438 :\n" + 
6679
		"					return 3;\n" + 
6680
		"				case 1439 :\n" + 
6681
		"					return 3;\n" + 
6682
		"				case 1440 :\n" + 
6683
		"					return 3;\n" + 
6684
		"				case 1441 :\n" + 
6685
		"					return 3;\n" + 
6686
		"				case 1442 :\n" + 
6687
		"					return 3;\n" + 
6688
		"				case 1443 :\n" + 
6689
		"					return 3;\n" + 
6690
		"				case 1444 :\n" + 
6691
		"					return 3;\n" + 
6692
		"				case 1445 :\n" + 
6693
		"					return 3;\n" + 
6694
		"				case 1446 :\n" + 
6695
		"					return 3;\n" + 
6696
		"				case 1447 :\n" + 
6697
		"					return 3;\n" + 
6698
		"				case 1448 :\n" + 
6699
		"					return 3;\n" + 
6700
		"				case 1449 :\n" + 
6701
		"					return 3;\n" + 
6702
		"				case 1450 :\n" + 
6703
		"					return 3;\n" + 
6704
		"				case 1451 :\n" + 
6705
		"					return 3;\n" + 
6706
		"				case 1452 :\n" + 
6707
		"					return 3;\n" + 
6708
		"				case 1453 :\n" + 
6709
		"					return 3;\n" + 
6710
		"				case 1454 :\n" + 
6711
		"					return 3;\n" + 
6712
		"				case 1455 :\n" + 
6713
		"					return 3;\n" + 
6714
		"				case 1456 :\n" + 
6715
		"					return 3;\n" + 
6716
		"				case 1457 :\n" + 
6717
		"					return 3;\n" + 
6718
		"				case 1458 :\n" + 
6719
		"					return 3;\n" + 
6720
		"				case 1459 :\n" + 
6721
		"					return 3;\n" + 
6722
		"				case 1460 :\n" + 
6723
		"					return 3;\n" + 
6724
		"				case 1461 :\n" + 
6725
		"					return 3;\n" + 
6726
		"				case 1462 :\n" + 
6727
		"					return 3;\n" + 
6728
		"				case 1463 :\n" + 
6729
		"					return 3;\n" + 
6730
		"				case 1464 :\n" + 
6731
		"					return 3;\n" + 
6732
		"				case 1465 :\n" + 
6733
		"					return 3;\n" + 
6734
		"				case 1466 :\n" + 
6735
		"					return 3;\n" + 
6736
		"				case 1467 :\n" + 
6737
		"					return 3;\n" + 
6738
		"				case 1468 :\n" + 
6739
		"					return 3;\n" + 
6740
		"				case 1469 :\n" + 
6741
		"					return 3;\n" + 
6742
		"				case 1470 :\n" + 
6743
		"					return 3;\n" + 
6744
		"				case 1471 :\n" + 
6745
		"					return 3;\n" + 
6746
		"				case 1472 :\n" + 
6747
		"					return 3;\n" + 
6748
		"				case 1473 :\n" + 
6749
		"					return 3;\n" + 
6750
		"				case 1474 :\n" + 
6751
		"					return 3;\n" + 
6752
		"				case 1475 :\n" + 
6753
		"					return 3;\n" + 
6754
		"				case 1476 :\n" + 
6755
		"					return 3;\n" + 
6756
		"				case 1477 :\n" + 
6757
		"					return 3;\n" + 
6758
		"				case 1478 :\n" + 
6759
		"					return 3;\n" + 
6760
		"				case 1479 :\n" + 
6761
		"					return 3;\n" + 
6762
		"				case 1480 :\n" + 
6763
		"					return 3;\n" + 
6764
		"				case 1481 :\n" + 
6765
		"					return 3;\n" + 
6766
		"				case 1482 :\n" + 
6767
		"					return 3;\n" + 
6768
		"				case 1483 :\n" + 
6769
		"					return 3;\n" + 
6770
		"				case 1484 :\n" + 
6771
		"					return 3;\n" + 
6772
		"				case 1485 :\n" + 
6773
		"					return 3;\n" + 
6774
		"				case 1486 :\n" + 
6775
		"					return 3;\n" + 
6776
		"				case 1487 :\n" + 
6777
		"					return 3;\n" + 
6778
		"				case 1488 :\n" + 
6779
		"					return 3;\n" + 
6780
		"				case 1489 :\n" + 
6781
		"					return 3;\n" + 
6782
		"				case 1490 :\n" + 
6783
		"					return 3;\n" + 
6784
		"				case 1491 :\n" + 
6785
		"					return 3;\n" + 
6786
		"				case 1492 :\n" + 
6787
		"					return 3;\n" + 
6788
		"				case 1493 :\n" + 
6789
		"					return 3;\n" + 
6790
		"				case 1494 :\n" + 
6791
		"					return 3;\n" + 
6792
		"				case 1495 :\n" + 
6793
		"					return 3;\n" + 
6794
		"				case 1496 :\n" + 
6795
		"					return 3;\n" + 
6796
		"				case 1497 :\n" + 
6797
		"					return 3;\n" + 
6798
		"				case 1498 :\n" + 
6799
		"					return 3;\n" + 
6800
		"				case 1499 :\n" + 
6801
		"					return 3;\n" + 
6802
		"				case 1500 :\n" + 
6803
		"					return 3;\n" + 
6804
		"				case 1501 :\n" + 
6805
		"					return 3;\n" + 
6806
		"				case 1502 :\n" + 
6807
		"					return 3;\n" + 
6808
		"				case 1503 :\n" + 
6809
		"					return 3;\n" + 
6810
		"				case 1504 :\n" + 
6811
		"					return 3;\n" + 
6812
		"				case 1505 :\n" + 
6813
		"					return 3;\n" + 
6814
		"				case 1506 :\n" + 
6815
		"					return 3;\n" + 
6816
		"				case 1507 :\n" + 
6817
		"					return 3;\n" + 
6818
		"				case 1508 :\n" + 
6819
		"					return 3;\n" + 
6820
		"				case 1509 :\n" + 
6821
		"					return 3;\n" + 
6822
		"				case 1510 :\n" + 
6823
		"					return 3;\n" + 
6824
		"				case 1511 :\n" + 
6825
		"					return 3;\n" + 
6826
		"				case 1512 :\n" + 
6827
		"					return 3;\n" + 
6828
		"				case 1513 :\n" + 
6829
		"					return 3;\n" + 
6830
		"				case 1514 :\n" + 
6831
		"					return 3;\n" + 
6832
		"				case 1515 :\n" + 
6833
		"					return 3;\n" + 
6834
		"				case 1516 :\n" + 
6835
		"					return 3;\n" + 
6836
		"				case 1517 :\n" + 
6837
		"					return 3;\n" + 
6838
		"				case 1518 :\n" + 
6839
		"					return 3;\n" + 
6840
		"				case 1519 :\n" + 
6841
		"					return 3;\n" + 
6842
		"				case 1520 :\n" + 
6843
		"					return 3;\n" + 
6844
		"				case 1521 :\n" + 
6845
		"					return 3;\n" + 
6846
		"				case 1522 :\n" + 
6847
		"					return 3;\n" + 
6848
		"				case 1523 :\n" + 
6849
		"					return 3;\n" + 
6850
		"				case 1524 :\n" + 
6851
		"					return 3;\n" + 
6852
		"				case 1525 :\n" + 
6853
		"					return 3;\n" + 
6854
		"				case 1526 :\n" + 
6855
		"					return 3;\n" + 
6856
		"				case 1527 :\n" + 
6857
		"					return 3;\n" + 
6858
		"				case 1528 :\n" + 
6859
		"					return 3;\n" + 
6860
		"				case 1529 :\n" + 
6861
		"					return 3;\n" + 
6862
		"				case 1530 :\n" + 
6863
		"					return 3;\n" + 
6864
		"				case 1531 :\n" + 
6865
		"					return 3;\n" + 
6866
		"				case 1532 :\n" + 
6867
		"					return 3;\n" + 
6868
		"				case 1533 :\n" + 
6869
		"					return 3;\n" + 
6870
		"				case 1534 :\n" + 
6871
		"					return 3;\n" + 
6872
		"				case 1535 :\n" + 
6873
		"					return 3;\n" + 
6874
		"				case 1536 :\n" + 
6875
		"					return 3;\n" + 
6876
		"				case 1537 :\n" + 
6877
		"					return 3;\n" + 
6878
		"				case 1538 :\n" + 
6879
		"					return 3;\n" + 
6880
		"				case 1539 :\n" + 
6881
		"					return 3;\n" + 
6882
		"				case 1540 :\n" + 
6883
		"					return 3;\n" + 
6884
		"				case 1541 :\n" + 
6885
		"					return 3;\n" + 
6886
		"				case 1542 :\n" + 
6887
		"					return 3;\n" + 
6888
		"				case 1543 :\n" + 
6889
		"					return 3;\n" + 
6890
		"				case 1544 :\n" + 
6891
		"					return 3;\n" + 
6892
		"				case 1545 :\n" + 
6893
		"					return 3;\n" + 
6894
		"				case 1546 :\n" + 
6895
		"					return 3;\n" + 
6896
		"				case 1547 :\n" + 
6897
		"					return 3;\n" + 
6898
		"				case 1548 :\n" + 
6899
		"					return 3;\n" + 
6900
		"				case 1549 :\n" + 
6901
		"					return 3;\n" + 
6902
		"				case 1550 :\n" + 
6903
		"					return 3;\n" + 
6904
		"				case 1551 :\n" + 
6905
		"					return 3;\n" + 
6906
		"				case 1552 :\n" + 
6907
		"					return 3;\n" + 
6908
		"				case 1553 :\n" + 
6909
		"					return 3;\n" + 
6910
		"				case 1554 :\n" + 
6911
		"					return 3;\n" + 
6912
		"				case 1555 :\n" + 
6913
		"					return 3;\n" + 
6914
		"				case 1556 :\n" + 
6915
		"					return 3;\n" + 
6916
		"				case 1557 :\n" + 
6917
		"					return 3;\n" + 
6918
		"				case 1558 :\n" + 
6919
		"					return 3;\n" + 
6920
		"				case 1559 :\n" + 
6921
		"					return 3;\n" + 
6922
		"				case 1560 :\n" + 
6923
		"					return 3;\n" + 
6924
		"				case 1561 :\n" + 
6925
		"					return 3;\n" + 
6926
		"				case 1562 :\n" + 
6927
		"					return 3;\n" + 
6928
		"				case 1563 :\n" + 
6929
		"					return 3;\n" + 
6930
		"				case 1564 :\n" + 
6931
		"					return 3;\n" + 
6932
		"				case 1565 :\n" + 
6933
		"					return 3;\n" + 
6934
		"				case 1566 :\n" + 
6935
		"					return 3;\n" + 
6936
		"				case 1567 :\n" + 
6937
		"					return 3;\n" + 
6938
		"				case 1568 :\n" + 
6939
		"					return 3;\n" + 
6940
		"				case 1569 :\n" + 
6941
		"					return 3;\n" + 
6942
		"				case 1570 :\n" + 
6943
		"					return 3;\n" + 
6944
		"				case 1571 :\n" + 
6945
		"					return 3;\n" + 
6946
		"				case 1572 :\n" + 
6947
		"					return 3;\n" + 
6948
		"				case 1573 :\n" + 
6949
		"					return 3;\n" + 
6950
		"				case 1574 :\n" + 
6951
		"					return 3;\n" + 
6952
		"				case 1575 :\n" + 
6953
		"					return 3;\n" + 
6954
		"				case 1576 :\n" + 
6955
		"					return 3;\n" + 
6956
		"				case 1577 :\n" + 
6957
		"					return 3;\n" + 
6958
		"				case 1578 :\n" + 
6959
		"					return 3;\n" + 
6960
		"				case 1579 :\n" + 
6961
		"					return 3;\n" + 
6962
		"				case 1580 :\n" + 
6963
		"					return 3;\n" + 
6964
		"				case 1581 :\n" + 
6965
		"					return 3;\n" + 
6966
		"				case 1582 :\n" + 
6967
		"					return 3;\n" + 
6968
		"				case 1583 :\n" + 
6969
		"					return 3;\n" + 
6970
		"				case 1584 :\n" + 
6971
		"					return 3;\n" + 
6972
		"				case 1585 :\n" + 
6973
		"					return 3;\n" + 
6974
		"				case 1586 :\n" + 
6975
		"					return 3;\n" + 
6976
		"				case 1587 :\n" + 
6977
		"					return 3;\n" + 
6978
		"				case 1588 :\n" + 
6979
		"					return 3;\n" + 
6980
		"				case 1589 :\n" + 
6981
		"					return 3;\n" + 
6982
		"				case 1590 :\n" + 
6983
		"					return 3;\n" + 
6984
		"				case 1591 :\n" + 
6985
		"					return 3;\n" + 
6986
		"				case 1592 :\n" + 
6987
		"					return 3;\n" + 
6988
		"				case 1593 :\n" + 
6989
		"					return 3;\n" + 
6990
		"				case 1594 :\n" + 
6991
		"					return 3;\n" + 
6992
		"				case 1595 :\n" + 
6993
		"					return 3;\n" + 
6994
		"				case 1596 :\n" + 
6995
		"					return 3;\n" + 
6996
		"				case 1597 :\n" + 
6997
		"					return 3;\n" + 
6998
		"				case 1598 :\n" + 
6999
		"					return 3;\n" + 
7000
		"				case 1599 :\n" + 
7001
		"					return 3;\n" + 
7002
		"				case 1600 :\n" + 
7003
		"					return 3;\n" + 
7004
		"				case 1601 :\n" + 
7005
		"					return 3;\n" + 
7006
		"				case 1602 :\n" + 
7007
		"					return 3;\n" + 
7008
		"				case 1603 :\n" + 
7009
		"					return 3;\n" + 
7010
		"				case 1604 :\n" + 
7011
		"					return 3;\n" + 
7012
		"				case 1605 :\n" + 
7013
		"					return 3;\n" + 
7014
		"				case 1606 :\n" + 
7015
		"					return 3;\n" + 
7016
		"				case 1607 :\n" + 
7017
		"					return 3;\n" + 
7018
		"				case 1608 :\n" + 
7019
		"					return 3;\n" + 
7020
		"				case 1609 :\n" + 
7021
		"					return 3;\n" + 
7022
		"				case 1610 :\n" + 
7023
		"					return 3;\n" + 
7024
		"				case 1611 :\n" + 
7025
		"					return 3;\n" + 
7026
		"				case 1612 :\n" + 
7027
		"					return 3;\n" + 
7028
		"				case 1613 :\n" + 
7029
		"					return 3;\n" + 
7030
		"				case 1614 :\n" + 
7031
		"					return 3;\n" + 
7032
		"				case 1615 :\n" + 
7033
		"					return 3;\n" + 
7034
		"				case 1616 :\n" + 
7035
		"					return 3;\n" + 
7036
		"				case 1617 :\n" + 
7037
		"					return 3;\n" + 
7038
		"				case 1618 :\n" + 
7039
		"					return 3;\n" + 
7040
		"				case 1619 :\n" + 
7041
		"					return 3;\n" + 
7042
		"				case 1620 :\n" + 
7043
		"					return 3;\n" + 
7044
		"				case 1621 :\n" + 
7045
		"					return 3;\n" + 
7046
		"				case 1622 :\n" + 
7047
		"					return 3;\n" + 
7048
		"				case 1623 :\n" + 
7049
		"					return 3;\n" + 
7050
		"				case 1624 :\n" + 
7051
		"					return 3;\n" + 
7052
		"				case 1625 :\n" + 
7053
		"					return 3;\n" + 
7054
		"				case 1626 :\n" + 
7055
		"					return 3;\n" + 
7056
		"				case 1627 :\n" + 
7057
		"					return 3;\n" + 
7058
		"				case 1628 :\n" + 
7059
		"					return 3;\n" + 
7060
		"				case 1629 :\n" + 
7061
		"					return 3;\n" + 
7062
		"				case 1630 :\n" + 
7063
		"					return 3;\n" + 
7064
		"				case 1631 :\n" + 
7065
		"					return 3;\n" + 
7066
		"				case 1632 :\n" + 
7067
		"					return 3;\n" + 
7068
		"				case 1633 :\n" + 
7069
		"					return 3;\n" + 
7070
		"				case 1634 :\n" + 
7071
		"					return 3;\n" + 
7072
		"				case 1635 :\n" + 
7073
		"					return 3;\n" + 
7074
		"				case 1636 :\n" + 
7075
		"					return 3;\n" + 
7076
		"				case 1637 :\n" + 
7077
		"					return 3;\n" + 
7078
		"				case 1638 :\n" + 
7079
		"					return 3;\n" + 
7080
		"				case 1639 :\n" + 
7081
		"					return 3;\n" + 
7082
		"				case 1640 :\n" + 
7083
		"					return 3;\n" + 
7084
		"				case 1641 :\n" + 
7085
		"					return 3;\n" + 
7086
		"				case 1642 :\n" + 
7087
		"					return 3;\n" + 
7088
		"				case 1643 :\n" + 
7089
		"					return 3;\n" + 
7090
		"				case 1644 :\n" + 
7091
		"					return 3;\n" + 
7092
		"				case 1645 :\n" + 
7093
		"					return 3;\n" + 
7094
		"				case 1646 :\n" + 
7095
		"					return 3;\n" + 
7096
		"				case 1647 :\n" + 
7097
		"					return 3;\n" + 
7098
		"				case 1648 :\n" + 
7099
		"					return 3;\n" + 
7100
		"				case 1649 :\n" + 
7101
		"					return 3;\n" + 
7102
		"				case 1650 :\n" + 
7103
		"					return 3;\n" + 
7104
		"				case 1651 :\n" + 
7105
		"					return 3;\n" + 
7106
		"				case 1652 :\n" + 
7107
		"					return 3;\n" + 
7108
		"				case 1653 :\n" + 
7109
		"					return 3;\n" + 
7110
		"				case 1654 :\n" + 
7111
		"					return 3;\n" + 
7112
		"				case 1655 :\n" + 
7113
		"					return 3;\n" + 
7114
		"				case 1656 :\n" + 
7115
		"					return 3;\n" + 
7116
		"				case 1657 :\n" + 
7117
		"					return 3;\n" + 
7118
		"				case 1658 :\n" + 
7119
		"					return 3;\n" + 
7120
		"				case 1659 :\n" + 
7121
		"					return 3;\n" + 
7122
		"				case 1660 :\n" + 
7123
		"					return 3;\n" + 
7124
		"				case 1661 :\n" + 
7125
		"					return 3;\n" + 
7126
		"				case 1662 :\n" + 
7127
		"					return 3;\n" + 
7128
		"				case 1663 :\n" + 
7129
		"					return 3;\n" + 
7130
		"				case 1664 :\n" + 
7131
		"					return 3;\n" + 
7132
		"				case 1665 :\n" + 
7133
		"					return 3;\n" + 
7134
		"				case 1666 :\n" + 
7135
		"					return 3;\n" + 
7136
		"				case 1667 :\n" + 
7137
		"					return 3;\n" + 
7138
		"				case 1668 :\n" + 
7139
		"					return 3;\n" + 
7140
		"				case 1669 :\n" + 
7141
		"					return 3;\n" + 
7142
		"				case 1670 :\n" + 
7143
		"					return 3;\n" + 
7144
		"				case 1671 :\n" + 
7145
		"					return 3;\n" + 
7146
		"				case 1672 :\n" + 
7147
		"					return 3;\n" + 
7148
		"				case 1673 :\n" + 
7149
		"					return 3;\n" + 
7150
		"				case 1674 :\n" + 
7151
		"					return 3;\n" + 
7152
		"				case 1675 :\n" + 
7153
		"					return 3;\n" + 
7154
		"				case 1676 :\n" + 
7155
		"					return 3;\n" + 
7156
		"				case 1677 :\n" + 
7157
		"					return 3;\n" + 
7158
		"				case 1678 :\n" + 
7159
		"					return 3;\n" + 
7160
		"				case 1679 :\n" + 
7161
		"					return 3;\n" + 
7162
		"				case 1680 :\n" + 
7163
		"					return 3;\n" + 
7164
		"				case 1681 :\n" + 
7165
		"					return 3;\n" + 
7166
		"				case 1682 :\n" + 
7167
		"					return 3;\n" + 
7168
		"				case 1683 :\n" + 
7169
		"					return 3;\n" + 
7170
		"				case 1684 :\n" + 
7171
		"					return 3;\n" + 
7172
		"				case 1685 :\n" + 
7173
		"					return 3;\n" + 
7174
		"				case 1686 :\n" + 
7175
		"					return 3;\n" + 
7176
		"				case 1687 :\n" + 
7177
		"					return 3;\n" + 
7178
		"				case 1688 :\n" + 
7179
		"					return 3;\n" + 
7180
		"				case 1689 :\n" + 
7181
		"					return 3;\n" + 
7182
		"				case 1690 :\n" + 
7183
		"					return 3;\n" + 
7184
		"				case 1691 :\n" + 
7185
		"					return 3;\n" + 
7186
		"				case 1692 :\n" + 
7187
		"					return 3;\n" + 
7188
		"				case 1693 :\n" + 
7189
		"					return 3;\n" + 
7190
		"				case 1694 :\n" + 
7191
		"					return 3;\n" + 
7192
		"				case 1695 :\n" + 
7193
		"					return 3;\n" + 
7194
		"				case 1696 :\n" + 
7195
		"					return 3;\n" + 
7196
		"				case 1697 :\n" + 
7197
		"					return 3;\n" + 
7198
		"				case 1698 :\n" + 
7199
		"					return 3;\n" + 
7200
		"				case 1699 :\n" + 
7201
		"					return 3;\n" + 
7202
		"				case 1700 :\n" + 
7203
		"					return 3;\n" + 
7204
		"				case 1701 :\n" + 
7205
		"					return 3;\n" + 
7206
		"				case 1702 :\n" + 
7207
		"					return 3;\n" + 
7208
		"				case 1703 :\n" + 
7209
		"					return 3;\n" + 
7210
		"				case 1704 :\n" + 
7211
		"					return 3;\n" + 
7212
		"				case 1705 :\n" + 
7213
		"					return 3;\n" + 
7214
		"				case 1706 :\n" + 
7215
		"					return 3;\n" + 
7216
		"				case 1707 :\n" + 
7217
		"					return 3;\n" + 
7218
		"				case 1708 :\n" + 
7219
		"					return 3;\n" + 
7220
		"				case 1709 :\n" + 
7221
		"					return 3;\n" + 
7222
		"				case 1710 :\n" + 
7223
		"					return 3;\n" + 
7224
		"				case 1711 :\n" + 
7225
		"					return 3;\n" + 
7226
		"				case 1712 :\n" + 
7227
		"					return 3;\n" + 
7228
		"				case 1713 :\n" + 
7229
		"					return 3;\n" + 
7230
		"				case 1714 :\n" + 
7231
		"					return 3;\n" + 
7232
		"				case 1715 :\n" + 
7233
		"					return 3;\n" + 
7234
		"				case 1716 :\n" + 
7235
		"					return 3;\n" + 
7236
		"				case 1717 :\n" + 
7237
		"					return 3;\n" + 
7238
		"				case 1718 :\n" + 
7239
		"					return 3;\n" + 
7240
		"				case 1719 :\n" + 
7241
		"					return 3;\n" + 
7242
		"				case 1720 :\n" + 
7243
		"					return 3;\n" + 
7244
		"				case 1721 :\n" + 
7245
		"					return 3;\n" + 
7246
		"				case 1722 :\n" + 
7247
		"					return 3;\n" + 
7248
		"				case 1723 :\n" + 
7249
		"					return 3;\n" + 
7250
		"				case 1724 :\n" + 
7251
		"					return 3;\n" + 
7252
		"				case 1725 :\n" + 
7253
		"					return 3;\n" + 
7254
		"				case 1726 :\n" + 
7255
		"					return 3;\n" + 
7256
		"				case 1727 :\n" + 
7257
		"					return 3;\n" + 
7258
		"				case 1728 :\n" + 
7259
		"					return 3;\n" + 
7260
		"				case 1729 :\n" + 
7261
		"					return 3;\n" + 
7262
		"				case 1730 :\n" + 
7263
		"					return 3;\n" + 
7264
		"				case 1731 :\n" + 
7265
		"					return 3;\n" + 
7266
		"				case 1732 :\n" + 
7267
		"					return 3;\n" + 
7268
		"				case 1733 :\n" + 
7269
		"					return 3;\n" + 
7270
		"				case 1734 :\n" + 
7271
		"					return 3;\n" + 
7272
		"				case 1735 :\n" + 
7273
		"					return 3;\n" + 
7274
		"				case 1736 :\n" + 
7275
		"					return 3;\n" + 
7276
		"				case 1737 :\n" + 
7277
		"					return 3;\n" + 
7278
		"				case 1738 :\n" + 
7279
		"					return 3;\n" + 
7280
		"				case 1739 :\n" + 
7281
		"					return 3;\n" + 
7282
		"				case 1740 :\n" + 
7283
		"					return 3;\n" + 
7284
		"				case 1741 :\n" + 
7285
		"					return 3;\n" + 
7286
		"				case 1742 :\n" + 
7287
		"					return 3;\n" + 
7288
		"				case 1743 :\n" + 
7289
		"					return 3;\n" + 
7290
		"				case 1744 :\n" + 
7291
		"					return 3;\n" + 
7292
		"				case 1745 :\n" + 
7293
		"					return 3;\n" + 
7294
		"				case 1746 :\n" + 
7295
		"					return 3;\n" + 
7296
		"				case 1747 :\n" + 
7297
		"					return 3;\n" + 
7298
		"				case 1748 :\n" + 
7299
		"					return 3;\n" + 
7300
		"				case 1749 :\n" + 
7301
		"					return 3;\n" + 
7302
		"				case 1750 :\n" + 
7303
		"					return 3;\n" + 
7304
		"				case 1751 :\n" + 
7305
		"					return 3;\n" + 
7306
		"				case 1752 :\n" + 
7307
		"					return 3;\n" + 
7308
		"				case 1753 :\n" + 
7309
		"					return 3;\n" + 
7310
		"				case 1754 :\n" + 
7311
		"					return 3;\n" + 
7312
		"				case 1755 :\n" + 
7313
		"					return 3;\n" + 
7314
		"				case 1756 :\n" + 
7315
		"					return 3;\n" + 
7316
		"				case 1757 :\n" + 
7317
		"					return 3;\n" + 
7318
		"				case 1758 :\n" + 
7319
		"					return 3;\n" + 
7320
		"				case 1759 :\n" + 
7321
		"					return 3;\n" + 
7322
		"				case 1760 :\n" + 
7323
		"					return 3;\n" + 
7324
		"				case 1761 :\n" + 
7325
		"					return 3;\n" + 
7326
		"				case 1762 :\n" + 
7327
		"					return 3;\n" + 
7328
		"				case 1763 :\n" + 
7329
		"					return 3;\n" + 
7330
		"				case 1764 :\n" + 
7331
		"					return 3;\n" + 
7332
		"				case 1765 :\n" + 
7333
		"					return 3;\n" + 
7334
		"				case 1766 :\n" + 
7335
		"					return 3;\n" + 
7336
		"				case 1767 :\n" + 
7337
		"					return 3;\n" + 
7338
		"				case 1768 :\n" + 
7339
		"					return 3;\n" + 
7340
		"				case 1769 :\n" + 
7341
		"					return 3;\n" + 
7342
		"				case 1770 :\n" + 
7343
		"					return 3;\n" + 
7344
		"				case 1771 :\n" + 
7345
		"					return 3;\n" + 
7346
		"				case 1772 :\n" + 
7347
		"					return 3;\n" + 
7348
		"				case 1773 :\n" + 
7349
		"					return 3;\n" + 
7350
		"				case 1774 :\n" + 
7351
		"					return 3;\n" + 
7352
		"				case 1775 :\n" + 
7353
		"					return 3;\n" + 
7354
		"				case 1776 :\n" + 
7355
		"					return 3;\n" + 
7356
		"				case 1777 :\n" + 
7357
		"					return 3;\n" + 
7358
		"				case 1778 :\n" + 
7359
		"					return 3;\n" + 
7360
		"				case 1779 :\n" + 
7361
		"					return 3;\n" + 
7362
		"				case 1780 :\n" + 
7363
		"					return 3;\n" + 
7364
		"				case 1781 :\n" + 
7365
		"					return 3;\n" + 
7366
		"				case 1782 :\n" + 
7367
		"					return 3;\n" + 
7368
		"				case 1783 :\n" + 
7369
		"					return 3;\n" + 
7370
		"				case 1784 :\n" + 
7371
		"					return 3;\n" + 
7372
		"				case 1785 :\n" + 
7373
		"					return 3;\n" + 
7374
		"				case 1786 :\n" + 
7375
		"					return 3;\n" + 
7376
		"				case 1787 :\n" + 
7377
		"					return 3;\n" + 
7378
		"				case 1788 :\n" + 
7379
		"					return 3;\n" + 
7380
		"				case 1789 :\n" + 
7381
		"					return 3;\n" + 
7382
		"				case 1790 :\n" + 
7383
		"					return 3;\n" + 
7384
		"				case 1791 :\n" + 
7385
		"					return 3;\n" + 
7386
		"				case 1792 :\n" + 
7387
		"					return 3;\n" + 
7388
		"				case 1793 :\n" + 
7389
		"					return 3;\n" + 
7390
		"				case 1794 :\n" + 
7391
		"					return 3;\n" + 
7392
		"				case 1795 :\n" + 
7393
		"					return 3;\n" + 
7394
		"				case 1796 :\n" + 
7395
		"					return 3;\n" + 
7396
		"				case 1797 :\n" + 
7397
		"					return 3;\n" + 
7398
		"				case 1798 :\n" + 
7399
		"					return 3;\n" + 
7400
		"				case 1799 :\n" + 
7401
		"					return 3;\n" + 
7402
		"				case 1800 :\n" + 
7403
		"					return 3;\n" + 
7404
		"				case 1801 :\n" + 
7405
		"					return 3;\n" + 
7406
		"				case 1802 :\n" + 
7407
		"					return 3;\n" + 
7408
		"				case 1803 :\n" + 
7409
		"					return 3;\n" + 
7410
		"				case 1804 :\n" + 
7411
		"					return 3;\n" + 
7412
		"				case 1805 :\n" + 
7413
		"					return 3;\n" + 
7414
		"				case 1806 :\n" + 
7415
		"					return 3;\n" + 
7416
		"				case 1807 :\n" + 
7417
		"					return 3;\n" + 
7418
		"				case 1808 :\n" + 
7419
		"					return 3;\n" + 
7420
		"				case 1809 :\n" + 
7421
		"					return 3;\n" + 
7422
		"				case 1810 :\n" + 
7423
		"					return 3;\n" + 
7424
		"				case 1811 :\n" + 
7425
		"					return 3;\n" + 
7426
		"				case 1812 :\n" + 
7427
		"					return 3;\n" + 
7428
		"				case 1813 :\n" + 
7429
		"					return 3;\n" + 
7430
		"				case 1814 :\n" + 
7431
		"					return 3;\n" + 
7432
		"				case 1815 :\n" + 
7433
		"					return 3;\n" + 
7434
		"				case 1816 :\n" + 
7435
		"					return 3;\n" + 
7436
		"				case 1817 :\n" + 
7437
		"					return 3;\n" + 
7438
		"				case 1818 :\n" + 
7439
		"					return 3;\n" + 
7440
		"				case 1819 :\n" + 
7441
		"					return 3;\n" + 
7442
		"				case 1820 :\n" + 
7443
		"					return 3;\n" + 
7444
		"				case 1821 :\n" + 
7445
		"					return 3;\n" + 
7446
		"				case 1822 :\n" + 
7447
		"					return 3;\n" + 
7448
		"				case 1823 :\n" + 
7449
		"					return 3;\n" + 
7450
		"				case 1824 :\n" + 
7451
		"					return 3;\n" + 
7452
		"				case 1825 :\n" + 
7453
		"					return 3;\n" + 
7454
		"				case 1826 :\n" + 
7455
		"					return 3;\n" + 
7456
		"				case 1827 :\n" + 
7457
		"					return 3;\n" + 
7458
		"				case 1828 :\n" + 
7459
		"					return 3;\n" + 
7460
		"				case 1829 :\n" + 
7461
		"					return 3;\n" + 
7462
		"				case 1830 :\n" + 
7463
		"					return 3;\n" + 
7464
		"				case 1831 :\n" + 
7465
		"					return 3;\n" + 
7466
		"				case 1832 :\n" + 
7467
		"					return 3;\n" + 
7468
		"				case 1833 :\n" + 
7469
		"					return 3;\n" + 
7470
		"				case 1834 :\n" + 
7471
		"					return 3;\n" + 
7472
		"				case 1835 :\n" + 
7473
		"					return 3;\n" + 
7474
		"				case 1836 :\n" + 
7475
		"					return 3;\n" + 
7476
		"				case 1837 :\n" + 
7477
		"					return 3;\n" + 
7478
		"				case 1838 :\n" + 
7479
		"					return 3;\n" + 
7480
		"				case 1839 :\n" + 
7481
		"					return 3;\n" + 
7482
		"				case 1840 :\n" + 
7483
		"					return 3;\n" + 
7484
		"				case 1841 :\n" + 
7485
		"					return 3;\n" + 
7486
		"				case 1842 :\n" + 
7487
		"					return 3;\n" + 
7488
		"				case 1843 :\n" + 
7489
		"					return 3;\n" + 
7490
		"				case 1844 :\n" + 
7491
		"					return 3;\n" + 
7492
		"				case 1845 :\n" + 
7493
		"					return 3;\n" + 
7494
		"				case 1846 :\n" + 
7495
		"					return 3;\n" + 
7496
		"				case 1847 :\n" + 
7497
		"					return 3;\n" + 
7498
		"				case 1848 :\n" + 
7499
		"					return 3;\n" + 
7500
		"				case 1849 :\n" + 
7501
		"					return 3;\n" + 
7502
		"				case 1850 :\n" + 
7503
		"					return 3;\n" + 
7504
		"				case 1851 :\n" + 
7505
		"					return 3;\n" + 
7506
		"				case 1852 :\n" + 
7507
		"					return 3;\n" + 
7508
		"				case 1853 :\n" + 
7509
		"					return 3;\n" + 
7510
		"				case 1854 :\n" + 
7511
		"					return 3;\n" + 
7512
		"				case 1855 :\n" + 
7513
		"					return 3;\n" + 
7514
		"				case 1856 :\n" + 
7515
		"					return 3;\n" + 
7516
		"				case 1857 :\n" + 
7517
		"					return 3;\n" + 
7518
		"				case 1858 :\n" + 
7519
		"					return 3;\n" + 
7520
		"				case 1859 :\n" + 
7521
		"					return 3;\n" + 
7522
		"				case 1860 :\n" + 
7523
		"					return 3;\n" + 
7524
		"				case 1861 :\n" + 
7525
		"					return 3;\n" + 
7526
		"				case 1862 :\n" + 
7527
		"					return 3;\n" + 
7528
		"				case 1863 :\n" + 
7529
		"					return 3;\n" + 
7530
		"				case 1864 :\n" + 
7531
		"					return 3;\n" + 
7532
		"				case 1865 :\n" + 
7533
		"					return 3;\n" + 
7534
		"				case 1866 :\n" + 
7535
		"					return 3;\n" + 
7536
		"				case 1867 :\n" + 
7537
		"					return 3;\n" + 
7538
		"				case 1868 :\n" + 
7539
		"					return 3;\n" + 
7540
		"				case 1869 :\n" + 
7541
		"					return 3;\n" + 
7542
		"				case 1870 :\n" + 
7543
		"					return 3;\n" + 
7544
		"				case 1871 :\n" + 
7545
		"					return 3;\n" + 
7546
		"				case 1872 :\n" + 
7547
		"					return 3;\n" + 
7548
		"				case 1873 :\n" + 
7549
		"					return 3;\n" + 
7550
		"				case 1874 :\n" + 
7551
		"					return 3;\n" + 
7552
		"				case 1875 :\n" + 
7553
		"					return 3;\n" + 
7554
		"				case 1876 :\n" + 
7555
		"					return 3;\n" + 
7556
		"				case 1877 :\n" + 
7557
		"					return 3;\n" + 
7558
		"				case 1878 :\n" + 
7559
		"					return 3;\n" + 
7560
		"				case 1879 :\n" + 
7561
		"					return 3;\n" + 
7562
		"				case 1880 :\n" + 
7563
		"					return 3;\n" + 
7564
		"				case 1881 :\n" + 
7565
		"					return 3;\n" + 
7566
		"				case 1882 :\n" + 
7567
		"					return 3;\n" + 
7568
		"				case 1883 :\n" + 
7569
		"					return 3;\n" + 
7570
		"				case 1884 :\n" + 
7571
		"					return 3;\n" + 
7572
		"				case 1885 :\n" + 
7573
		"					return 3;\n" + 
7574
		"				case 1886 :\n" + 
7575
		"					return 3;\n" + 
7576
		"				case 1887 :\n" + 
7577
		"					return 3;\n" + 
7578
		"				case 1888 :\n" + 
7579
		"					return 3;\n" + 
7580
		"				case 1889 :\n" + 
7581
		"					return 3;\n" + 
7582
		"				case 1890 :\n" + 
7583
		"					return 3;\n" + 
7584
		"				case 1891 :\n" + 
7585
		"					return 3;\n" + 
7586
		"				case 1892 :\n" + 
7587
		"					return 3;\n" + 
7588
		"				case 1893 :\n" + 
7589
		"					return 3;\n" + 
7590
		"				case 1894 :\n" + 
7591
		"					return 3;\n" + 
7592
		"				case 1895 :\n" + 
7593
		"					return 3;\n" + 
7594
		"				case 1896 :\n" + 
7595
		"					return 3;\n" + 
7596
		"				case 1897 :\n" + 
7597
		"					return 3;\n" + 
7598
		"				case 1898 :\n" + 
7599
		"					return 3;\n" + 
7600
		"				case 1899 :\n" + 
7601
		"					return 3;\n" + 
7602
		"				case 1900 :\n" + 
7603
		"					return 3;\n" + 
7604
		"				case 1901 :\n" + 
7605
		"					return 3;\n" + 
7606
		"				case 1902 :\n" + 
7607
		"					return 3;\n" + 
7608
		"				case 1903 :\n" + 
7609
		"					return 3;\n" + 
7610
		"				case 1904 :\n" + 
7611
		"					return 3;\n" + 
7612
		"				case 1905 :\n" + 
7613
		"					return 3;\n" + 
7614
		"				case 1906 :\n" + 
7615
		"					return 3;\n" + 
7616
		"				case 1907 :\n" + 
7617
		"					return 3;\n" + 
7618
		"				case 1908 :\n" + 
7619
		"					return 3;\n" + 
7620
		"				case 1909 :\n" + 
7621
		"					return 3;\n" + 
7622
		"				case 1910 :\n" + 
7623
		"					return 3;\n" + 
7624
		"				case 1911 :\n" + 
7625
		"					return 3;\n" + 
7626
		"				case 1912 :\n" + 
7627
		"					return 3;\n" + 
7628
		"				case 1913 :\n" + 
7629
		"					return 3;\n" + 
7630
		"				case 1914 :\n" + 
7631
		"					return 3;\n" + 
7632
		"				case 1915 :\n" + 
7633
		"					return 3;\n" + 
7634
		"				case 1916 :\n" + 
7635
		"					return 3;\n" + 
7636
		"				case 1917 :\n" + 
7637
		"					return 3;\n" + 
7638
		"				case 1918 :\n" + 
7639
		"					return 3;\n" + 
7640
		"				case 1919 :\n" + 
7641
		"					return 3;\n" + 
7642
		"				case 1920 :\n" + 
7643
		"					return 3;\n" + 
7644
		"				case 1921 :\n" + 
7645
		"					return 3;\n" + 
7646
		"				case 1922 :\n" + 
7647
		"					return 3;\n" + 
7648
		"				case 1923 :\n" + 
7649
		"					return 3;\n" + 
7650
		"				case 1924 :\n" + 
7651
		"					return 3;\n" + 
7652
		"				case 1925 :\n" + 
7653
		"					return 3;\n" + 
7654
		"				case 1926 :\n" + 
7655
		"					return 3;\n" + 
7656
		"				case 1927 :\n" + 
7657
		"					return 3;\n" + 
7658
		"				case 1928 :\n" + 
7659
		"					return 3;\n" + 
7660
		"				case 1929 :\n" + 
7661
		"					return 3;\n" + 
7662
		"				case 1930 :\n" + 
7663
		"					return 3;\n" + 
7664
		"				case 1931 :\n" + 
7665
		"					return 3;\n" + 
7666
		"				case 1932 :\n" + 
7667
		"					return 3;\n" + 
7668
		"				case 1933 :\n" + 
7669
		"					return 3;\n" + 
7670
		"				case 1934 :\n" + 
7671
		"					return 3;\n" + 
7672
		"				case 1935 :\n" + 
7673
		"					return 3;\n" + 
7674
		"				case 1936 :\n" + 
7675
		"					return 3;\n" + 
7676
		"				case 1937 :\n" + 
7677
		"					return 3;\n" + 
7678
		"				case 1938 :\n" + 
7679
		"					return 3;\n" + 
7680
		"				case 1939 :\n" + 
7681
		"					return 3;\n" + 
7682
		"				case 1940 :\n" + 
7683
		"					return 3;\n" + 
7684
		"				case 1941 :\n" + 
7685
		"					return 3;\n" + 
7686
		"				case 1942 :\n" + 
7687
		"					return 3;\n" + 
7688
		"				case 1943 :\n" + 
7689
		"					return 3;\n" + 
7690
		"				case 1944 :\n" + 
7691
		"					return 3;\n" + 
7692
		"				case 1945 :\n" + 
7693
		"					return 3;\n" + 
7694
		"				case 1946 :\n" + 
7695
		"					return 3;\n" + 
7696
		"				case 1947 :\n" + 
7697
		"					return 3;\n" + 
7698
		"				case 1948 :\n" + 
7699
		"					return 3;\n" + 
7700
		"				case 1949 :\n" + 
7701
		"					return 3;\n" + 
7702
		"				case 1950 :\n" + 
7703
		"					return 3;\n" + 
7704
		"				case 1951 :\n" + 
7705
		"					return 3;\n" + 
7706
		"				case 1952 :\n" + 
7707
		"					return 3;\n" + 
7708
		"				case 1953 :\n" + 
7709
		"					return 3;\n" + 
7710
		"				case 1954 :\n" + 
7711
		"					return 3;\n" + 
7712
		"				case 1955 :\n" + 
7713
		"					return 3;\n" + 
7714
		"				case 1956 :\n" + 
7715
		"					return 3;\n" + 
7716
		"				case 1957 :\n" + 
7717
		"					return 3;\n" + 
7718
		"				case 1958 :\n" + 
7719
		"					return 3;\n" + 
7720
		"				case 1959 :\n" + 
7721
		"					return 3;\n" + 
7722
		"				case 1960 :\n" + 
7723
		"					return 3;\n" + 
7724
		"				case 1961 :\n" + 
7725
		"					return 3;\n" + 
7726
		"				case 1962 :\n" + 
7727
		"					return 3;\n" + 
7728
		"				case 1963 :\n" + 
7729
		"					return 3;\n" + 
7730
		"				case 1964 :\n" + 
7731
		"					return 3;\n" + 
7732
		"				case 1965 :\n" + 
7733
		"					return 3;\n" + 
7734
		"				case 1966 :\n" + 
7735
		"					return 3;\n" + 
7736
		"				case 1967 :\n" + 
7737
		"					return 3;\n" + 
7738
		"				case 1968 :\n" + 
7739
		"					return 3;\n" + 
7740
		"				case 1969 :\n" + 
7741
		"					return 3;\n" + 
7742
		"				case 1970 :\n" + 
7743
		"					return 3;\n" + 
7744
		"				case 1971 :\n" + 
7745
		"					return 3;\n" + 
7746
		"				case 1972 :\n" + 
7747
		"					return 3;\n" + 
7748
		"				case 1973 :\n" + 
7749
		"					return 3;\n" + 
7750
		"				case 1974 :\n" + 
7751
		"					return 3;\n" + 
7752
		"				case 1975 :\n" + 
7753
		"					return 3;\n" + 
7754
		"				case 1976 :\n" + 
7755
		"					return 3;\n" + 
7756
		"				case 1977 :\n" + 
7757
		"					return 3;\n" + 
7758
		"				case 1978 :\n" + 
7759
		"					return 3;\n" + 
7760
		"				case 1979 :\n" + 
7761
		"					return 3;\n" + 
7762
		"				case 1980 :\n" + 
7763
		"					return 3;\n" + 
7764
		"				case 1981 :\n" + 
7765
		"					return 3;\n" + 
7766
		"				case 1982 :\n" + 
7767
		"					return 3;\n" + 
7768
		"				case 1983 :\n" + 
7769
		"					return 3;\n" + 
7770
		"				case 1984 :\n" + 
7771
		"					return 3;\n" + 
7772
		"				case 1985 :\n" + 
7773
		"					return 3;\n" + 
7774
		"				case 1986 :\n" + 
7775
		"					return 3;\n" + 
7776
		"				case 1987 :\n" + 
7777
		"					return 3;\n" + 
7778
		"				case 1988 :\n" + 
7779
		"					return 3;\n" + 
7780
		"				case 1989 :\n" + 
7781
		"					return 3;\n" + 
7782
		"				case 1990 :\n" + 
7783
		"					return 3;\n" + 
7784
		"				case 1991 :\n" + 
7785
		"					return 3;\n" + 
7786
		"				case 1992 :\n" + 
7787
		"					return 3;\n" + 
7788
		"				case 1993 :\n" + 
7789
		"					return 3;\n" + 
7790
		"				case 1994 :\n" + 
7791
		"					return 3;\n" + 
7792
		"				case 1995 :\n" + 
7793
		"					return 3;\n" + 
7794
		"				case 1996 :\n" + 
7795
		"					return 3;\n" + 
7796
		"				case 1997 :\n" + 
7797
		"					return 3;\n" + 
7798
		"				case 1998 :\n" + 
7799
		"					return 3;\n" + 
7800
		"				case 1999 :\n" + 
7801
		"					return 3;\n" + 
7802
		"				case 2000 :\n" + 
7803
		"					return 3;\n" + 
7804
		"				case 2001 :\n" + 
7805
		"					return 3;\n" + 
7806
		"				case 2002 :\n" + 
7807
		"					return 3;\n" + 
7808
		"				case 2003 :\n" + 
7809
		"					return 3;\n" + 
7810
		"				case 2004 :\n" + 
7811
		"					return 3;\n" + 
7812
		"				case 2005 :\n" + 
7813
		"					return 3;\n" + 
7814
		"				case 2006 :\n" + 
7815
		"					return 3;\n" + 
7816
		"				case 2007 :\n" + 
7817
		"					return 3;\n" + 
7818
		"				case 2008 :\n" + 
7819
		"					return 3;\n" + 
7820
		"				case 2009 :\n" + 
7821
		"					return 3;\n" + 
7822
		"				case 2010 :\n" + 
7823
		"					return 3;\n" + 
7824
		"				case 2011 :\n" + 
7825
		"					return 3;\n" + 
7826
		"				case 2012 :\n" + 
7827
		"					return 3;\n" + 
7828
		"				case 2013 :\n" + 
7829
		"					return 3;\n" + 
7830
		"				case 2014 :\n" + 
7831
		"					return 3;\n" + 
7832
		"				case 2015 :\n" + 
7833
		"					return 3;\n" + 
7834
		"				case 2016 :\n" + 
7835
		"					return 3;\n" + 
7836
		"				case 2017 :\n" + 
7837
		"					return 3;\n" + 
7838
		"				case 2018 :\n" + 
7839
		"					return 3;\n" + 
7840
		"				case 2019 :\n" + 
7841
		"					return 3;\n" + 
7842
		"				case 2020 :\n" + 
7843
		"					return 3;\n" + 
7844
		"				case 2021 :\n" + 
7845
		"					return 3;\n" + 
7846
		"				case 2022 :\n" + 
7847
		"					return 3;\n" + 
7848
		"				case 2023 :\n" + 
7849
		"					return 3;\n" + 
7850
		"				case 2024 :\n" + 
7851
		"					return 3;\n" + 
7852
		"				case 2025 :\n" + 
7853
		"					return 3;\n" + 
7854
		"				case 2026 :\n" + 
7855
		"					return 3;\n" + 
7856
		"				case 2027 :\n" + 
7857
		"					return 3;\n" + 
7858
		"				case 2028 :\n" + 
7859
		"					return 3;\n" + 
7860
		"				case 2029 :\n" + 
7861
		"					return 3;\n" + 
7862
		"				case 2030 :\n" + 
7863
		"					return 3;\n" + 
7864
		"				case 2031 :\n" + 
7865
		"					return 3;\n" + 
7866
		"				case 2032 :\n" + 
7867
		"					return 3;\n" + 
7868
		"				case 2033 :\n" + 
7869
		"					return 3;\n" + 
7870
		"				case 2034 :\n" + 
7871
		"					return 3;\n" + 
7872
		"				case 2035 :\n" + 
7873
		"					return 3;\n" + 
7874
		"				case 2036 :\n" + 
7875
		"					return 3;\n" + 
7876
		"				case 2037 :\n" + 
7877
		"					return 3;\n" + 
7878
		"				case 2038 :\n" + 
7879
		"					return 3;\n" + 
7880
		"				case 2039 :\n" + 
7881
		"					return 3;\n" + 
7882
		"				case 2040 :\n" + 
7883
		"					return 3;\n" + 
7884
		"				case 2041 :\n" + 
7885
		"					return 3;\n" + 
7886
		"				case 2042 :\n" + 
7887
		"					return 3;\n" + 
7888
		"				case 2043 :\n" + 
7889
		"					return 3;\n" + 
7890
		"				case 2044 :\n" + 
7891
		"					return 3;\n" + 
7892
		"				case 2045 :\n" + 
7893
		"					return 3;\n" + 
7894
		"				case 2046 :\n" + 
7895
		"					return 3;\n" + 
7896
		"				case 2047 :\n" + 
7897
		"					return 3;\n" + 
7898
		"				case 2048 :\n" + 
7899
		"					return 3;\n" + 
7900
		"				case 2049 :\n" + 
7901
		"					return 3;\n" + 
7902
		"				case 2050 :\n" + 
7903
		"					return 3;\n" + 
7904
		"				case 2051 :\n" + 
7905
		"					return 3;\n" + 
7906
		"				case 2052 :\n" + 
7907
		"					return 3;\n" + 
7908
		"				case 2053 :\n" + 
7909
		"					return 3;\n" + 
7910
		"				case 2054 :\n" + 
7911
		"					return 3;\n" + 
7912
		"				case 2055 :\n" + 
7913
		"					return 3;\n" + 
7914
		"				case 2056 :\n" + 
7915
		"					return 3;\n" + 
7916
		"				case 2057 :\n" + 
7917
		"					return 3;\n" + 
7918
		"				case 2058 :\n" + 
7919
		"					return 3;\n" + 
7920
		"				case 2059 :\n" + 
7921
		"					return 3;\n" + 
7922
		"				case 2060 :\n" + 
7923
		"					return 3;\n" + 
7924
		"				case 2061 :\n" + 
7925
		"					return 3;\n" + 
7926
		"				case 2062 :\n" + 
7927
		"					return 3;\n" + 
7928
		"				case 2063 :\n" + 
7929
		"					return 3;\n" + 
7930
		"				case 2064 :\n" + 
7931
		"					return 3;\n" + 
7932
		"				case 2065 :\n" + 
7933
		"					return 3;\n" + 
7934
		"				case 2066 :\n" + 
7935
		"					return 3;\n" + 
7936
		"				case 2067 :\n" + 
7937
		"					return 3;\n" + 
7938
		"				case 2068 :\n" + 
7939
		"					return 3;\n" + 
7940
		"				case 2069 :\n" + 
7941
		"					return 3;\n" + 
7942
		"				case 2070 :\n" + 
7943
		"					return 3;\n" + 
7944
		"				case 2071 :\n" + 
7945
		"					return 3;\n" + 
7946
		"				case 2072 :\n" + 
7947
		"					return 3;\n" + 
7948
		"				case 2073 :\n" + 
7949
		"					return 3;\n" + 
7950
		"				case 2074 :\n" + 
7951
		"					return 3;\n" + 
7952
		"				case 2075 :\n" + 
7953
		"					return 3;\n" + 
7954
		"				case 2076 :\n" + 
7955
		"					return 3;\n" + 
7956
		"				case 2077 :\n" + 
7957
		"					return 3;\n" + 
7958
		"				case 2078 :\n" + 
7959
		"					return 3;\n" + 
7960
		"				case 2079 :\n" + 
7961
		"					return 3;\n" + 
7962
		"				case 2080 :\n" + 
7963
		"					return 3;\n" + 
7964
		"				case 2081 :\n" + 
7965
		"					return 3;\n" + 
7966
		"				case 2082 :\n" + 
7967
		"					return 3;\n" + 
7968
		"				case 2083 :\n" + 
7969
		"					return 3;\n" + 
7970
		"				case 2084 :\n" + 
7971
		"					return 3;\n" + 
7972
		"				case 2085 :\n" + 
7973
		"					return 3;\n" + 
7974
		"				case 2086 :\n" + 
7975
		"					return 3;\n" + 
7976
		"				case 2087 :\n" + 
7977
		"					return 3;\n" + 
7978
		"				case 2088 :\n" + 
7979
		"					return 3;\n" + 
7980
		"				case 2089 :\n" + 
7981
		"					return 3;\n" + 
7982
		"				case 2090 :\n" + 
7983
		"					return 3;\n" + 
7984
		"				case 2091 :\n" + 
7985
		"					return 3;\n" + 
7986
		"				case 2092 :\n" + 
7987
		"					return 3;\n" + 
7988
		"				case 2093 :\n" + 
7989
		"					return 3;\n" + 
7990
		"				case 2094 :\n" + 
7991
		"					return 3;\n" + 
7992
		"				case 2095 :\n" + 
7993
		"					return 3;\n" + 
7994
		"				case 2096 :\n" + 
7995
		"					return 3;\n" + 
7996
		"				case 2097 :\n" + 
7997
		"					return 3;\n" + 
7998
		"				case 2098 :\n" + 
7999
		"					return 3;\n" + 
8000
		"				case 2099 :\n" + 
8001
		"					return 3;\n" + 
8002
		"				case 2100 :\n" + 
8003
		"					return 3;\n" + 
8004
		"				case 2101 :\n" + 
8005
		"					return 3;\n" + 
8006
		"				case 2102 :\n" + 
8007
		"					return 3;\n" + 
8008
		"				case 2103 :\n" + 
8009
		"					return 3;\n" + 
8010
		"				case 2104 :\n" + 
8011
		"					return 3;\n" + 
8012
		"				case 2105 :\n" + 
8013
		"					return 3;\n" + 
8014
		"				case 2106 :\n" + 
8015
		"					return 3;\n" + 
8016
		"				case 2107 :\n" + 
8017
		"					return 3;\n" + 
8018
		"				case 2108 :\n" + 
8019
		"					return 3;\n" + 
8020
		"				case 2109 :\n" + 
8021
		"					return 3;\n" + 
8022
		"				case 2110 :\n" + 
8023
		"					return 3;\n" + 
8024
		"				case 2111 :\n" + 
8025
		"					return 3;\n" + 
8026
		"				case 2112 :\n" + 
8027
		"					return 3;\n" + 
8028
		"				case 2113 :\n" + 
8029
		"					return 3;\n" + 
8030
		"				case 2114 :\n" + 
8031
		"					return 3;\n" + 
8032
		"				case 2115 :\n" + 
8033
		"					return 3;\n" + 
8034
		"				case 2116 :\n" + 
8035
		"					return 3;\n" + 
8036
		"				case 2117 :\n" + 
8037
		"					return 3;\n" + 
8038
		"				case 2118 :\n" + 
8039
		"					return 3;\n" + 
8040
		"				case 2119 :\n" + 
8041
		"					return 3;\n" + 
8042
		"				case 2120 :\n" + 
8043
		"					return 3;\n" + 
8044
		"				case 2121 :\n" + 
8045
		"					return 3;\n" + 
8046
		"				case 2122 :\n" + 
8047
		"					return 3;\n" + 
8048
		"				case 2123 :\n" + 
8049
		"					return 3;\n" + 
8050
		"				case 2124 :\n" + 
8051
		"					return 3;\n" + 
8052
		"				case 2125 :\n" + 
8053
		"					return 3;\n" + 
8054
		"				case 2126 :\n" + 
8055
		"					return 3;\n" + 
8056
		"				case 2127 :\n" + 
8057
		"					return 3;\n" + 
8058
		"				case 2128 :\n" + 
8059
		"					return 3;\n" + 
8060
		"				case 2129 :\n" + 
8061
		"					return 3;\n" + 
8062
		"				case 2130 :\n" + 
8063
		"					return 3;\n" + 
8064
		"				case 2131 :\n" + 
8065
		"					return 3;\n" + 
8066
		"				case 2132 :\n" + 
8067
		"					return 3;\n" + 
8068
		"				case 2133 :\n" + 
8069
		"					return 3;\n" + 
8070
		"				case 2134 :\n" + 
8071
		"					return 3;\n" + 
8072
		"				case 2135 :\n" + 
8073
		"					return 3;\n" + 
8074
		"				case 2136 :\n" + 
8075
		"					return 3;\n" + 
8076
		"				case 2137 :\n" + 
8077
		"					return 3;\n" + 
8078
		"				case 2138 :\n" + 
8079
		"					return 3;\n" + 
8080
		"				case 2139 :\n" + 
8081
		"					return 3;\n" + 
8082
		"				case 2140 :\n" + 
8083
		"					return 3;\n" + 
8084
		"				case 2141 :\n" + 
8085
		"					return 3;\n" + 
8086
		"				case 2142 :\n" + 
8087
		"					return 3;\n" + 
8088
		"				case 2143 :\n" + 
8089
		"					return 3;\n" + 
8090
		"				case 2144 :\n" + 
8091
		"					return 3;\n" + 
8092
		"				case 2145 :\n" + 
8093
		"					return 3;\n" + 
8094
		"				case 2146 :\n" + 
8095
		"					return 3;\n" + 
8096
		"				case 2147 :\n" + 
8097
		"					return 3;\n" + 
8098
		"				case 2148 :\n" + 
8099
		"					return 3;\n" + 
8100
		"				case 2149 :\n" + 
8101
		"					return 3;\n" + 
8102
		"				case 2150 :\n" + 
8103
		"					return 3;\n" + 
8104
		"				case 2151 :\n" + 
8105
		"					return 3;\n" + 
8106
		"				case 2152 :\n" + 
8107
		"					return 3;\n" + 
8108
		"				case 2153 :\n" + 
8109
		"					return 3;\n" + 
8110
		"				case 2154 :\n" + 
8111
		"					return 3;\n" + 
8112
		"				case 2155 :\n" + 
8113
		"					return 3;\n" + 
8114
		"				case 2156 :\n" + 
8115
		"					return 3;\n" + 
8116
		"				case 2157 :\n" + 
8117
		"					return 3;\n" + 
8118
		"				case 2158 :\n" + 
8119
		"					return 3;\n" + 
8120
		"				case 2159 :\n" + 
8121
		"					return 3;\n" + 
8122
		"				case 2160 :\n" + 
8123
		"					return 3;\n" + 
8124
		"				case 2161 :\n" + 
8125
		"					return 3;\n" + 
8126
		"				case 2162 :\n" + 
8127
		"					return 3;\n" + 
8128
		"				case 2163 :\n" + 
8129
		"					return 3;\n" + 
8130
		"				case 2164 :\n" + 
8131
		"					return 3;\n" + 
8132
		"				case 2165 :\n" + 
8133
		"					return 3;\n" + 
8134
		"				case 2166 :\n" + 
8135
		"					return 3;\n" + 
8136
		"				case 2167 :\n" + 
8137
		"					return 3;\n" + 
8138
		"				case 2168 :\n" + 
8139
		"					return 3;\n" + 
8140
		"				case 2169 :\n" + 
8141
		"					return 3;\n" + 
8142
		"				case 2170 :\n" + 
8143
		"					return 3;\n" + 
8144
		"				case 2171 :\n" + 
8145
		"					return 3;\n" + 
8146
		"				case 2172 :\n" + 
8147
		"					return 3;\n" + 
8148
		"				case 2173 :\n" + 
8149
		"					return 3;\n" + 
8150
		"				case 2174 :\n" + 
8151
		"					return 3;\n" + 
8152
		"				case 2175 :\n" + 
8153
		"					return 3;\n" + 
8154
		"				case 2176 :\n" + 
8155
		"					return 3;\n" + 
8156
		"				case 2177 :\n" + 
8157
		"					return 3;\n" + 
8158
		"				case 2178 :\n" + 
8159
		"					return 3;\n" + 
8160
		"				case 2179 :\n" + 
8161
		"					return 3;\n" + 
8162
		"				case 2180 :\n" + 
8163
		"					return 3;\n" + 
8164
		"				case 2181 :\n" + 
8165
		"					return 3;\n" + 
8166
		"				case 2182 :\n" + 
8167
		"					return 3;\n" + 
8168
		"				case 2183 :\n" + 
8169
		"					return 3;\n" + 
8170
		"				case 2184 :\n" + 
8171
		"					return 3;\n" + 
8172
		"				case 2185 :\n" + 
8173
		"					return 3;\n" + 
8174
		"				case 2186 :\n" + 
8175
		"					return 3;\n" + 
8176
		"				case 2187 :\n" + 
8177
		"					return 3;\n" + 
8178
		"				case 2188 :\n" + 
8179
		"					return 3;\n" + 
8180
		"				case 2189 :\n" + 
8181
		"					return 3;\n" + 
8182
		"				case 2190 :\n" + 
8183
		"					return 3;\n" + 
8184
		"				case 2191 :\n" + 
8185
		"					return 3;\n" + 
8186
		"				case 2192 :\n" + 
8187
		"					return 3;\n" + 
8188
		"				case 2193 :\n" + 
8189
		"					return 3;\n" + 
8190
		"				case 2194 :\n" + 
8191
		"					return 3;\n" + 
8192
		"				case 2195 :\n" + 
8193
		"					return 3;\n" + 
8194
		"				case 2196 :\n" + 
8195
		"					return 3;\n" + 
8196
		"				case 2197 :\n" + 
8197
		"					return 3;\n" + 
8198
		"				case 2198 :\n" + 
8199
		"					return 3;\n" + 
8200
		"				case 2199 :\n" + 
8201
		"					return 3;\n" + 
8202
		"				case 2200 :\n" + 
8203
		"					return 3;\n" + 
8204
		"				case 2201 :\n" + 
8205
		"					return 3;\n" + 
8206
		"				case 2202 :\n" + 
8207
		"					return 3;\n" + 
8208
		"				case 2203 :\n" + 
8209
		"					return 3;\n" + 
8210
		"				case 2204 :\n" + 
8211
		"					return 3;\n" + 
8212
		"				case 2205 :\n" + 
8213
		"					return 3;\n" + 
8214
		"				case 2206 :\n" + 
8215
		"					return 3;\n" + 
8216
		"				case 2207 :\n" + 
8217
		"					return 3;\n" + 
8218
		"				case 2208 :\n" + 
8219
		"					return 3;\n" + 
8220
		"				case 2209 :\n" + 
8221
		"					return 3;\n" + 
8222
		"				case 2210 :\n" + 
8223
		"					return 3;\n" + 
8224
		"				case 2211 :\n" + 
8225
		"					return 3;\n" + 
8226
		"				case 2212 :\n" + 
8227
		"					return 3;\n" + 
8228
		"				case 2213 :\n" + 
8229
		"					return 3;\n" + 
8230
		"				case 2214 :\n" + 
8231
		"					return 3;\n" + 
8232
		"				case 2215 :\n" + 
8233
		"					return 3;\n" + 
8234
		"				case 2216 :\n" + 
8235
		"					return 3;\n" + 
8236
		"				case 2217 :\n" + 
8237
		"					return 3;\n" + 
8238
		"				case 2218 :\n" + 
8239
		"					return 3;\n" + 
8240
		"				case 2219 :\n" + 
8241
		"					return 3;\n" + 
8242
		"				case 2220 :\n" + 
8243
		"					return 3;\n" + 
8244
		"				case 2221 :\n" + 
8245
		"					return 3;\n" + 
8246
		"				case 2222 :\n" + 
8247
		"					return 3;\n" + 
8248
		"				case 2223 :\n" + 
8249
		"					return 3;\n" + 
8250
		"				case 2224 :\n" + 
8251
		"					return 3;\n" + 
8252
		"				case 2225 :\n" + 
8253
		"					return 3;\n" + 
8254
		"				case 2226 :\n" + 
8255
		"					return 3;\n" + 
8256
		"				case 2227 :\n" + 
8257
		"					return 3;\n" + 
8258
		"				case 2228 :\n" + 
8259
		"					return 3;\n" + 
8260
		"				case 2229 :\n" + 
8261
		"					return 3;\n" + 
8262
		"				case 2230 :\n" + 
8263
		"					return 3;\n" + 
8264
		"				case 2231 :\n" + 
8265
		"					return 3;\n" + 
8266
		"				case 2232 :\n" + 
8267
		"					return 3;\n" + 
8268
		"				case 2233 :\n" + 
8269
		"					return 3;\n" + 
8270
		"				case 2234 :\n" + 
8271
		"					return 3;\n" + 
8272
		"				case 2235 :\n" + 
8273
		"					return 3;\n" + 
8274
		"				case 2236 :\n" + 
8275
		"					return 3;\n" + 
8276
		"				case 2237 :\n" + 
8277
		"					return 3;\n" + 
8278
		"				case 2238 :\n" + 
8279
		"					return 3;\n" + 
8280
		"				case 2239 :\n" + 
8281
		"					return 3;\n" + 
8282
		"				case 2240 :\n" + 
8283
		"					return 3;\n" + 
8284
		"				case 2241 :\n" + 
8285
		"					return 3;\n" + 
8286
		"				case 2242 :\n" + 
8287
		"					return 3;\n" + 
8288
		"				case 2243 :\n" + 
8289
		"					return 3;\n" + 
8290
		"				case 2244 :\n" + 
8291
		"					return 3;\n" + 
8292
		"				case 2245 :\n" + 
8293
		"					return 3;\n" + 
8294
		"				case 2246 :\n" + 
8295
		"					return 3;\n" + 
8296
		"				case 2247 :\n" + 
8297
		"					return 3;\n" + 
8298
		"				case 2248 :\n" + 
8299
		"					return 3;\n" + 
8300
		"				case 2249 :\n" + 
8301
		"					return 3;\n" + 
8302
		"				case 2250 :\n" + 
8303
		"					return 3;\n" + 
8304
		"				case 2251 :\n" + 
8305
		"					return 3;\n" + 
8306
		"				case 2252 :\n" + 
8307
		"					return 3;\n" + 
8308
		"				case 2253 :\n" + 
8309
		"					return 3;\n" + 
8310
		"				case 2254 :\n" + 
8311
		"					return 3;\n" + 
8312
		"				case 2255 :\n" + 
8313
		"					return 3;\n" + 
8314
		"				case 2256 :\n" + 
8315
		"					return 3;\n" + 
8316
		"				case 2257 :\n" + 
8317
		"					return 3;\n" + 
8318
		"				case 2258 :\n" + 
8319
		"					return 3;\n" + 
8320
		"				case 2259 :\n" + 
8321
		"					return 3;\n" + 
8322
		"				case 2260 :\n" + 
8323
		"					return 3;\n" + 
8324
		"				case 2261 :\n" + 
8325
		"					return 3;\n" + 
8326
		"				case 2262 :\n" + 
8327
		"					return 3;\n" + 
8328
		"				case 2263 :\n" + 
8329
		"					return 3;\n" + 
8330
		"				case 2264 :\n" + 
8331
		"					return 3;\n" + 
8332
		"				case 2265 :\n" + 
8333
		"					return 3;\n" + 
8334
		"				case 2266 :\n" + 
8335
		"					return 3;\n" + 
8336
		"				case 2267 :\n" + 
8337
		"					return 3;\n" + 
8338
		"				case 2268 :\n" + 
8339
		"					return 3;\n" + 
8340
		"				case 2269 :\n" + 
8341
		"					return 3;\n" + 
8342
		"				case 2270 :\n" + 
8343
		"					return 3;\n" + 
8344
		"				case 2271 :\n" + 
8345
		"					return 3;\n" + 
8346
		"				case 2272 :\n" + 
8347
		"					return 3;\n" + 
8348
		"				case 2273 :\n" + 
8349
		"					return 3;\n" + 
8350
		"				case 2274 :\n" + 
8351
		"					return 3;\n" + 
8352
		"				case 2275 :\n" + 
8353
		"					return 3;\n" + 
8354
		"				case 2276 :\n" + 
8355
		"					return 3;\n" + 
8356
		"				case 2277 :\n" + 
8357
		"					return 3;\n" + 
8358
		"				case 2278 :\n" + 
8359
		"					return 3;\n" + 
8360
		"				case 2279 :\n" + 
8361
		"					return 3;\n" + 
8362
		"				case 2280 :\n" + 
8363
		"					return 3;\n" + 
8364
		"				case 2281 :\n" + 
8365
		"					return 3;\n" + 
8366
		"				case 2282 :\n" + 
8367
		"					return 3;\n" + 
8368
		"				case 2283 :\n" + 
8369
		"					return 3;\n" + 
8370
		"				case 2284 :\n" + 
8371
		"					return 3;\n" + 
8372
		"				case 2285 :\n" + 
8373
		"					return 3;\n" + 
8374
		"				case 2286 :\n" + 
8375
		"					return 3;\n" + 
8376
		"				case 2287 :\n" + 
8377
		"					return 3;\n" + 
8378
		"				case 2288 :\n" + 
8379
		"					return 3;\n" + 
8380
		"				case 2289 :\n" + 
8381
		"					return 3;\n" + 
8382
		"				case 2290 :\n" + 
8383
		"					return 3;\n" + 
8384
		"				case 2291 :\n" + 
8385
		"					return 3;\n" + 
8386
		"				case 2292 :\n" + 
8387
		"					return 3;\n" + 
8388
		"				case 2293 :\n" + 
8389
		"					return 3;\n" + 
8390
		"				case 2294 :\n" + 
8391
		"					return 3;\n" + 
8392
		"				case 2295 :\n" + 
8393
		"					return 3;\n" + 
8394
		"				case 2296 :\n" + 
8395
		"					return 3;\n" + 
8396
		"				case 2297 :\n" + 
8397
		"					return 3;\n" + 
8398
		"				case 2298 :\n" + 
8399
		"					return 3;\n" + 
8400
		"				case 2299 :\n" + 
8401
		"					return 3;\n" + 
8402
		"				case 2300 :\n" + 
8403
		"					return 3;\n" + 
8404
		"				case 2301 :\n" + 
8405
		"					return 3;\n" + 
8406
		"				case 2302 :\n" + 
8407
		"					return 3;\n" + 
8408
		"				case 2303 :\n" + 
8409
		"					return 3;\n" + 
8410
		"				case 2304 :\n" + 
8411
		"					return 3;\n" + 
8412
		"				case 2305 :\n" + 
8413
		"					return 3;\n" + 
8414
		"				case 2306 :\n" + 
8415
		"					return 3;\n" + 
8416
		"				case 2307 :\n" + 
8417
		"					return 3;\n" + 
8418
		"				case 2308 :\n" + 
8419
		"					return 3;\n" + 
8420
		"				case 2309 :\n" + 
8421
		"					return 3;\n" + 
8422
		"				case 2310 :\n" + 
8423
		"					return 3;\n" + 
8424
		"				case 2311 :\n" + 
8425
		"					return 3;\n" + 
8426
		"				case 2312 :\n" + 
8427
		"					return 3;\n" + 
8428
		"				case 2313 :\n" + 
8429
		"					return 3;\n" + 
8430
		"				case 2314 :\n" + 
8431
		"					return 3;\n" + 
8432
		"				case 2315 :\n" + 
8433
		"					return 3;\n" + 
8434
		"				case 2316 :\n" + 
8435
		"					return 3;\n" + 
8436
		"				case 2317 :\n" + 
8437
		"					return 3;\n" + 
8438
		"				case 2318 :\n" + 
8439
		"					return 3;\n" + 
8440
		"				case 2319 :\n" + 
8441
		"					return 3;\n" + 
8442
		"				case 2320 :\n" + 
8443
		"					return 3;\n" + 
8444
		"				case 2321 :\n" + 
8445
		"					return 3;\n" + 
8446
		"				case 2322 :\n" + 
8447
		"					return 3;\n" + 
8448
		"				case 2323 :\n" + 
8449
		"					return 3;\n" + 
8450
		"				case 2324 :\n" + 
8451
		"					return 3;\n" + 
8452
		"				case 2325 :\n" + 
8453
		"					return 3;\n" + 
8454
		"				case 2326 :\n" + 
8455
		"					return 3;\n" + 
8456
		"				case 2327 :\n" + 
8457
		"					return 3;\n" + 
8458
		"				case 2328 :\n" + 
8459
		"					return 3;\n" + 
8460
		"				case 2329 :\n" + 
8461
		"					return 3;\n" + 
8462
		"				case 2330 :\n" + 
8463
		"					return 3;\n" + 
8464
		"				case 2331 :\n" + 
8465
		"					return 3;\n" + 
8466
		"				case 2332 :\n" + 
8467
		"					return 3;\n" + 
8468
		"				case 2333 :\n" + 
8469
		"					return 3;\n" + 
8470
		"				case 2334 :\n" + 
8471
		"					return 3;\n" + 
8472
		"				case 2335 :\n" + 
8473
		"					return 3;\n" + 
8474
		"				case 2336 :\n" + 
8475
		"					return 3;\n" + 
8476
		"				case 2337 :\n" + 
8477
		"					return 3;\n" + 
8478
		"				case 2338 :\n" + 
8479
		"					return 3;\n" + 
8480
		"				case 2339 :\n" + 
8481
		"					return 3;\n" + 
8482
		"				case 2340 :\n" + 
8483
		"					return 3;\n" + 
8484
		"				case 2341 :\n" + 
8485
		"					return 3;\n" + 
8486
		"				case 2342 :\n" + 
8487
		"					return 3;\n" + 
8488
		"				case 2343 :\n" + 
8489
		"					return 3;\n" + 
8490
		"				case 2344 :\n" + 
8491
		"					return 3;\n" + 
8492
		"				case 2345 :\n" + 
8493
		"					return 3;\n" + 
8494
		"				case 2346 :\n" + 
8495
		"					return 3;\n" + 
8496
		"				case 2347 :\n" + 
8497
		"					return 3;\n" + 
8498
		"				case 2348 :\n" + 
8499
		"					return 3;\n" + 
8500
		"				case 2349 :\n" + 
8501
		"					return 3;\n" + 
8502
		"				case 2350 :\n" + 
8503
		"					return 3;\n" + 
8504
		"				case 2351 :\n" + 
8505
		"					return 3;\n" + 
8506
		"				case 2352 :\n" + 
8507
		"					return 3;\n" + 
8508
		"				case 2353 :\n" + 
8509
		"					return 3;\n" + 
8510
		"				case 2354 :\n" + 
8511
		"					return 3;\n" + 
8512
		"				case 2355 :\n" + 
8513
		"					return 3;\n" + 
8514
		"				case 2356 :\n" + 
8515
		"					return 3;\n" + 
8516
		"				case 2357 :\n" + 
8517
		"					return 3;\n" + 
8518
		"				case 2358 :\n" + 
8519
		"					return 3;\n" + 
8520
		"				case 2359 :\n" + 
8521
		"					return 3;\n" + 
8522
		"				case 2360 :\n" + 
8523
		"					return 3;\n" + 
8524
		"				case 2361 :\n" + 
8525
		"					return 3;\n" + 
8526
		"				case 2362 :\n" + 
8527
		"					return 3;\n" + 
8528
		"				case 2363 :\n" + 
8529
		"					return 3;\n" + 
8530
		"				case 2364 :\n" + 
8531
		"					return 3;\n" + 
8532
		"				case 2365 :\n" + 
8533
		"					return 3;\n" + 
8534
		"				case 2366 :\n" + 
8535
		"					return 3;\n" + 
8536
		"				case 2367 :\n" + 
8537
		"					return 3;\n" + 
8538
		"				case 2368 :\n" + 
8539
		"					return 3;\n" + 
8540
		"				case 2369 :\n" + 
8541
		"					return 3;\n" + 
8542
		"				case 2370 :\n" + 
8543
		"					return 3;\n" + 
8544
		"				case 2371 :\n" + 
8545
		"					return 3;\n" + 
8546
		"				case 2372 :\n" + 
8547
		"					return 3;\n" + 
8548
		"				case 2373 :\n" + 
8549
		"					return 3;\n" + 
8550
		"				case 2374 :\n" + 
8551
		"					return 3;\n" + 
8552
		"				case 2375 :\n" + 
8553
		"					return 3;\n" + 
8554
		"				case 2376 :\n" + 
8555
		"					return 3;\n" + 
8556
		"				case 2377 :\n" + 
8557
		"					return 3;\n" + 
8558
		"				case 2378 :\n" + 
8559
		"					return 3;\n" + 
8560
		"				case 2379 :\n" + 
8561
		"					return 3;\n" + 
8562
		"				case 2380 :\n" + 
8563
		"					return 3;\n" + 
8564
		"				case 2381 :\n" + 
8565
		"					return 3;\n" + 
8566
		"				case 2382 :\n" + 
8567
		"					return 3;\n" + 
8568
		"				case 2383 :\n" + 
8569
		"					return 3;\n" + 
8570
		"				case 2384 :\n" + 
8571
		"					return 3;\n" + 
8572
		"				case 2385 :\n" + 
8573
		"					return 3;\n" + 
8574
		"				case 2386 :\n" + 
8575
		"					return 3;\n" + 
8576
		"				case 2387 :\n" + 
8577
		"					return 3;\n" + 
8578
		"				case 2388 :\n" + 
8579
		"					return 3;\n" + 
8580
		"				case 2389 :\n" + 
8581
		"					return 3;\n" + 
8582
		"				case 2390 :\n" + 
8583
		"					return 3;\n" + 
8584
		"				case 2391 :\n" + 
8585
		"					return 3;\n" + 
8586
		"				case 2392 :\n" + 
8587
		"					return 3;\n" + 
8588
		"				case 2393 :\n" + 
8589
		"					return 3;\n" + 
8590
		"				case 2394 :\n" + 
8591
		"					return 3;\n" + 
8592
		"				case 2395 :\n" + 
8593
		"					return 3;\n" + 
8594
		"				case 2396 :\n" + 
8595
		"					return 3;\n" + 
8596
		"				case 2397 :\n" + 
8597
		"					return 3;\n" + 
8598
		"				case 2398 :\n" + 
8599
		"					return 3;\n" + 
8600
		"				case 2399 :\n" + 
8601
		"					return 3;\n" + 
8602
		"				case 2400 :\n" + 
8603
		"					return 3;\n" + 
8604
		"				case 2401 :\n" + 
8605
		"					return 3;\n" + 
8606
		"				case 2402 :\n" + 
8607
		"					return 3;\n" + 
8608
		"				case 2403 :\n" + 
8609
		"					return 3;\n" + 
8610
		"				case 2404 :\n" + 
8611
		"					return 3;\n" + 
8612
		"				case 2405 :\n" + 
8613
		"					return 3;\n" + 
8614
		"				case 2406 :\n" + 
8615
		"					return 3;\n" + 
8616
		"				case 2407 :\n" + 
8617
		"					return 3;\n" + 
8618
		"				case 2408 :\n" + 
8619
		"					return 3;\n" + 
8620
		"				case 2409 :\n" + 
8621
		"					return 3;\n" + 
8622
		"				case 2410 :\n" + 
8623
		"					return 3;\n" + 
8624
		"				case 2411 :\n" + 
8625
		"					return 3;\n" + 
8626
		"				case 2412 :\n" + 
8627
		"					return 3;\n" + 
8628
		"				case 2413 :\n" + 
8629
		"					return 3;\n" + 
8630
		"				case 2414 :\n" + 
8631
		"					return 3;\n" + 
8632
		"				case 2415 :\n" + 
8633
		"					return 3;\n" + 
8634
		"				case 2416 :\n" + 
8635
		"					return 3;\n" + 
8636
		"				case 2417 :\n" + 
8637
		"					return 3;\n" + 
8638
		"				case 2418 :\n" + 
8639
		"					return 3;\n" + 
8640
		"				case 2419 :\n" + 
8641
		"					return 3;\n" + 
8642
		"				case 2420 :\n" + 
8643
		"					return 3;\n" + 
8644
		"				case 2421 :\n" + 
8645
		"					return 3;\n" + 
8646
		"				case 2422 :\n" + 
8647
		"					return 3;\n" + 
8648
		"				case 2423 :\n" + 
8649
		"					return 3;\n" + 
8650
		"				case 2424 :\n" + 
8651
		"					return 3;\n" + 
8652
		"				case 2425 :\n" + 
8653
		"					return 3;\n" + 
8654
		"				case 2426 :\n" + 
8655
		"					return 3;\n" + 
8656
		"				case 2427 :\n" + 
8657
		"					return 3;\n" + 
8658
		"				case 2428 :\n" + 
8659
		"					return 3;\n" + 
8660
		"				case 2429 :\n" + 
8661
		"					return 3;\n" + 
8662
		"				case 2430 :\n" + 
8663
		"					return 3;\n" + 
8664
		"				case 2431 :\n" + 
8665
		"					return 3;\n" + 
8666
		"				case 2432 :\n" + 
8667
		"					return 3;\n" + 
8668
		"				case 2433 :\n" + 
8669
		"					return 3;\n" + 
8670
		"				case 2434 :\n" + 
8671
		"					return 3;\n" + 
8672
		"				case 2435 :\n" + 
8673
		"					return 3;\n" + 
8674
		"				case 2436 :\n" + 
8675
		"					return 3;\n" + 
8676
		"				case 2437 :\n" + 
8677
		"					return 3;\n" + 
8678
		"				case 2438 :\n" + 
8679
		"					return 3;\n" + 
8680
		"				case 2439 :\n" + 
8681
		"					return 3;\n" + 
8682
		"				case 2440 :\n" + 
8683
		"					return 3;\n" + 
8684
		"				case 2441 :\n" + 
8685
		"					return 3;\n" + 
8686
		"				case 2442 :\n" + 
8687
		"					return 3;\n" + 
8688
		"				case 2443 :\n" + 
8689
		"					return 3;\n" + 
8690
		"				case 2444 :\n" + 
8691
		"					return 3;\n" + 
8692
		"				case 2445 :\n" + 
8693
		"					return 3;\n" + 
8694
		"				case 2446 :\n" + 
8695
		"					return 3;\n" + 
8696
		"				case 2447 :\n" + 
8697
		"					return 3;\n" + 
8698
		"				case 2448 :\n" + 
8699
		"					return 3;\n" + 
8700
		"				case 2449 :\n" + 
8701
		"					return 3;\n" + 
8702
		"				case 2450 :\n" + 
8703
		"					return 3;\n" + 
8704
		"				case 2451 :\n" + 
8705
		"					return 3;\n" + 
8706
		"				case 2452 :\n" + 
8707
		"					return 3;\n" + 
8708
		"				case 2453 :\n" + 
8709
		"					return 3;\n" + 
8710
		"				case 2454 :\n" + 
8711
		"					return 3;\n" + 
8712
		"				case 2455 :\n" + 
8713
		"					return 3;\n" + 
8714
		"				case 2456 :\n" + 
8715
		"					return 3;\n" + 
8716
		"				case 2457 :\n" + 
8717
		"					return 3;\n" + 
8718
		"				case 2458 :\n" + 
8719
		"					return 3;\n" + 
8720
		"				case 2459 :\n" + 
8721
		"					return 3;\n" + 
8722
		"				case 2460 :\n" + 
8723
		"					return 3;\n" + 
8724
		"				case 2461 :\n" + 
8725
		"					return 3;\n" + 
8726
		"				case 2462 :\n" + 
8727
		"					return 3;\n" + 
8728
		"				case 2463 :\n" + 
8729
		"					return 3;\n" + 
8730
		"				case 2464 :\n" + 
8731
		"					return 3;\n" + 
8732
		"				case 2465 :\n" + 
8733
		"					return 3;\n" + 
8734
		"				case 2466 :\n" + 
8735
		"					return 3;\n" + 
8736
		"				case 2467 :\n" + 
8737
		"					return 3;\n" + 
8738
		"				case 2468 :\n" + 
8739
		"					return 3;\n" + 
8740
		"				case 2469 :\n" + 
8741
		"					return 3;\n" + 
8742
		"				case 2470 :\n" + 
8743
		"					return 3;\n" + 
8744
		"				case 2471 :\n" + 
8745
		"					return 3;\n" + 
8746
		"				case 2472 :\n" + 
8747
		"					return 3;\n" + 
8748
		"				case 2473 :\n" + 
8749
		"					return 3;\n" + 
8750
		"				case 2474 :\n" + 
8751
		"					return 3;\n" + 
8752
		"				case 2475 :\n" + 
8753
		"					return 3;\n" + 
8754
		"				case 2476 :\n" + 
8755
		"					return 3;\n" + 
8756
		"				case 2477 :\n" + 
8757
		"					return 3;\n" + 
8758
		"				case 2478 :\n" + 
8759
		"					return 3;\n" + 
8760
		"				case 2479 :\n" + 
8761
		"					return 3;\n" + 
8762
		"				case 2480 :\n" + 
8763
		"					return 3;\n" + 
8764
		"				case 2481 :\n" + 
8765
		"					return 3;\n" + 
8766
		"				case 2482 :\n" + 
8767
		"					return 3;\n" + 
8768
		"				case 2483 :\n" + 
8769
		"					return 3;\n" + 
8770
		"				case 2484 :\n" + 
8771
		"					return 3;\n" + 
8772
		"				case 2485 :\n" + 
8773
		"					return 3;\n" + 
8774
		"				case 2486 :\n" + 
8775
		"					return 3;\n" + 
8776
		"				case 2487 :\n" + 
8777
		"					return 3;\n" + 
8778
		"				case 2488 :\n" + 
8779
		"					return 3;\n" + 
8780
		"				case 2489 :\n" + 
8781
		"					return 3;\n" + 
8782
		"				case 2490 :\n" + 
8783
		"					return 3;\n" + 
8784
		"				case 2491 :\n" + 
8785
		"					return 3;\n" + 
8786
		"				case 2492 :\n" + 
8787
		"					return 3;\n" + 
8788
		"				case 2493 :\n" + 
8789
		"					return 3;\n" + 
8790
		"				case 2494 :\n" + 
8791
		"					return 3;\n" + 
8792
		"				case 2495 :\n" + 
8793
		"					return 3;\n" + 
8794
		"				case 2496 :\n" + 
8795
		"					return 3;\n" + 
8796
		"				case 2497 :\n" + 
8797
		"					return 3;\n" + 
8798
		"				case 2498 :\n" + 
8799
		"					return 3;\n" + 
8800
		"				case 2499 :\n" + 
8801
		"					return 3;\n" + 
8802
		"				case 2500 :\n" + 
8803
		"					return 3;\n" + 
8804
		"				case 2501 :\n" + 
8805
		"					return 3;\n" + 
8806
		"				case 2502 :\n" + 
8807
		"					return 3;\n" + 
8808
		"				case 2503 :\n" + 
8809
		"					return 3;\n" + 
8810
		"				case 2504 :\n" + 
8811
		"					return 3;\n" + 
8812
		"				case 2505 :\n" + 
8813
		"					return 3;\n" + 
8814
		"				case 2506 :\n" + 
8815
		"					return 3;\n" + 
8816
		"				case 2507 :\n" + 
8817
		"					return 3;\n" + 
8818
		"				case 2508 :\n" + 
8819
		"					return 3;\n" + 
8820
		"				case 2509 :\n" + 
8821
		"					return 3;\n" + 
8822
		"				case 2510 :\n" + 
8823
		"					return 3;\n" + 
8824
		"				case 2511 :\n" + 
8825
		"					return 3;\n" + 
8826
		"				case 2512 :\n" + 
8827
		"					return 3;\n" + 
8828
		"				case 2513 :\n" + 
8829
		"					return 3;\n" + 
8830
		"				case 2514 :\n" + 
8831
		"					return 3;\n" + 
8832
		"				case 2515 :\n" + 
8833
		"					return 3;\n" + 
8834
		"				case 2516 :\n" + 
8835
		"					return 3;\n" + 
8836
		"				case 2517 :\n" + 
8837
		"					return 3;\n" + 
8838
		"				case 2518 :\n" + 
8839
		"					return 3;\n" + 
8840
		"				case 2519 :\n" + 
8841
		"					return 3;\n" + 
8842
		"				case 2520 :\n" + 
8843
		"					return 3;\n" + 
8844
		"				case 2521 :\n" + 
8845
		"					return 3;\n" + 
8846
		"				case 2522 :\n" + 
8847
		"					return 3;\n" + 
8848
		"				case 2523 :\n" + 
8849
		"					return 3;\n" + 
8850
		"				case 2524 :\n" + 
8851
		"					return 3;\n" + 
8852
		"				case 2525 :\n" + 
8853
		"					return 3;\n" + 
8854
		"				case 2526 :\n" + 
8855
		"					return 3;\n" + 
8856
		"				case 2527 :\n" + 
8857
		"					return 3;\n" + 
8858
		"				case 2528 :\n" + 
8859
		"					return 3;\n" + 
8860
		"				case 2529 :\n" + 
8861
		"					return 3;\n" + 
8862
		"				case 2530 :\n" + 
8863
		"					return 3;\n" + 
8864
		"				case 2531 :\n" + 
8865
		"					return 3;\n" + 
8866
		"				case 2532 :\n" + 
8867
		"					return 3;\n" + 
8868
		"				case 2533 :\n" + 
8869
		"					return 3;\n" + 
8870
		"				case 2534 :\n" + 
8871
		"					return 3;\n" + 
8872
		"				case 2535 :\n" + 
8873
		"					return 3;\n" + 
8874
		"				case 2536 :\n" + 
8875
		"					return 3;\n" + 
8876
		"				case 2537 :\n" + 
8877
		"					return 3;\n" + 
8878
		"				case 2538 :\n" + 
8879
		"					return 3;\n" + 
8880
		"				case 2539 :\n" + 
8881
		"					return 3;\n" + 
8882
		"				case 2540 :\n" + 
8883
		"					return 3;\n" + 
8884
		"				case 2541 :\n" + 
8885
		"					return 3;\n" + 
8886
		"				case 2542 :\n" + 
8887
		"					return 3;\n" + 
8888
		"				case 2543 :\n" + 
8889
		"					return 3;\n" + 
8890
		"				case 2544 :\n" + 
8891
		"					return 3;\n" + 
8892
		"				case 2545 :\n" + 
8893
		"					return 3;\n" + 
8894
		"				case 2546 :\n" + 
8895
		"					return 3;\n" + 
8896
		"				case 2547 :\n" + 
8897
		"					return 3;\n" + 
8898
		"				case 2548 :\n" + 
8899
		"					return 3;\n" + 
8900
		"				case 2549 :\n" + 
8901
		"					return 3;\n" + 
8902
		"				case 2550 :\n" + 
8903
		"					return 3;\n" + 
8904
		"				case 2551 :\n" + 
8905
		"					return 3;\n" + 
8906
		"				case 2552 :\n" + 
8907
		"					return 3;\n" + 
8908
		"				case 2553 :\n" + 
8909
		"					return 3;\n" + 
8910
		"				case 2554 :\n" + 
8911
		"					return 3;\n" + 
8912
		"				case 2555 :\n" + 
8913
		"					return 3;\n" + 
8914
		"				case 2556 :\n" + 
8915
		"					return 3;\n" + 
8916
		"				case 2557 :\n" + 
8917
		"					return 3;\n" + 
8918
		"				case 2558 :\n" + 
8919
		"					return 3;\n" + 
8920
		"				case 2559 :\n" + 
8921
		"					return 3;\n" + 
8922
		"				case 2560 :\n" + 
8923
		"					return 3;\n" + 
8924
		"				case 2561 :\n" + 
8925
		"					return 3;\n" + 
8926
		"				case 2562 :\n" + 
8927
		"					return 3;\n" + 
8928
		"				case 2563 :\n" + 
8929
		"					return 3;\n" + 
8930
		"				case 2564 :\n" + 
8931
		"					return 3;\n" + 
8932
		"				case 2565 :\n" + 
8933
		"					return 3;\n" + 
8934
		"				case 2566 :\n" + 
8935
		"					return 3;\n" + 
8936
		"				case 2567 :\n" + 
8937
		"					return 3;\n" + 
8938
		"				case 2568 :\n" + 
8939
		"					return 3;\n" + 
8940
		"				case 2569 :\n" + 
8941
		"					return 3;\n" + 
8942
		"				case 2570 :\n" + 
8943
		"					return 3;\n" + 
8944
		"				case 2571 :\n" + 
8945
		"					return 3;\n" + 
8946
		"				case 2572 :\n" + 
8947
		"					return 3;\n" + 
8948
		"				case 2573 :\n" + 
8949
		"					return 3;\n" + 
8950
		"				case 2574 :\n" + 
8951
		"					return 3;\n" + 
8952
		"				case 2575 :\n" + 
8953
		"					return 3;\n" + 
8954
		"				case 2576 :\n" + 
8955
		"					return 3;\n" + 
8956
		"				case 2577 :\n" + 
8957
		"					return 3;\n" + 
8958
		"				case 2578 :\n" + 
8959
		"					return 3;\n" + 
8960
		"				case 2579 :\n" + 
8961
		"					return 3;\n" + 
8962
		"				case 2580 :\n" + 
8963
		"					return 3;\n" + 
8964
		"				case 2581 :\n" + 
8965
		"					return 3;\n" + 
8966
		"				case 2582 :\n" + 
8967
		"					return 3;\n" + 
8968
		"				case 2583 :\n" + 
8969
		"					return 3;\n" + 
8970
		"				case 2584 :\n" + 
8971
		"					return 3;\n" + 
8972
		"				case 2585 :\n" + 
8973
		"					return 3;\n" + 
8974
		"				case 2586 :\n" + 
8975
		"					return 3;\n" + 
8976
		"				case 2587 :\n" + 
8977
		"					return 3;\n" + 
8978
		"				case 2588 :\n" + 
8979
		"					return 3;\n" + 
8980
		"				case 2589 :\n" + 
8981
		"					return 3;\n" + 
8982
		"				case 2590 :\n" + 
8983
		"					return 3;\n" + 
8984
		"				case 2591 :\n" + 
8985
		"					return 3;\n" + 
8986
		"				case 2592 :\n" + 
8987
		"					return 3;\n" + 
8988
		"				case 2593 :\n" + 
8989
		"					return 3;\n" + 
8990
		"				case 2594 :\n" + 
8991
		"					return 3;\n" + 
8992
		"				case 2595 :\n" + 
8993
		"					return 3;\n" + 
8994
		"				case 2596 :\n" + 
8995
		"					return 3;\n" + 
8996
		"				case 2597 :\n" + 
8997
		"					return 3;\n" + 
8998
		"				case 2598 :\n" + 
8999
		"					return 3;\n" + 
9000
		"				case 2599 :\n" + 
9001
		"					return 3;\n" + 
9002
		"				case 2600 :\n" + 
9003
		"					return 3;\n" + 
9004
		"				case 2601 :\n" + 
9005
		"					return 3;\n" + 
9006
		"				case 2602 :\n" + 
9007
		"					return 3;\n" + 
9008
		"				case 2603 :\n" + 
9009
		"					return 3;\n" + 
9010
		"				case 2604 :\n" + 
9011
		"					return 3;\n" + 
9012
		"				case 2605 :\n" + 
9013
		"					return 3;\n" + 
9014
		"				case 2606 :\n" + 
9015
		"					return 3;\n" + 
9016
		"				case 2607 :\n" + 
9017
		"					return 3;\n" + 
9018
		"				case 2608 :\n" + 
9019
		"					return 3;\n" + 
9020
		"				case 2609 :\n" + 
9021
		"					return 3;\n" + 
9022
		"				case 2610 :\n" + 
9023
		"					return 3;\n" + 
9024
		"				case 2611 :\n" + 
9025
		"					return 3;\n" + 
9026
		"				case 2612 :\n" + 
9027
		"					return 3;\n" + 
9028
		"				case 2613 :\n" + 
9029
		"					return 3;\n" + 
9030
		"				case 2614 :\n" + 
9031
		"					return 3;\n" + 
9032
		"				case 2615 :\n" + 
9033
		"					return 3;\n" + 
9034
		"				case 2616 :\n" + 
9035
		"					return 3;\n" + 
9036
		"				case 2617 :\n" + 
9037
		"					return 3;\n" + 
9038
		"				case 2618 :\n" + 
9039
		"					return 3;\n" + 
9040
		"				case 2619 :\n" + 
9041
		"					return 3;\n" + 
9042
		"				case 2620 :\n" + 
9043
		"					return 3;\n" + 
9044
		"				case 2621 :\n" + 
9045
		"					return 3;\n" + 
9046
		"				case 2622 :\n" + 
9047
		"					return 3;\n" + 
9048
		"				case 2623 :\n" + 
9049
		"					return 3;\n" + 
9050
		"				case 2624 :\n" + 
9051
		"					return 3;\n" + 
9052
		"				case 2625 :\n" + 
9053
		"					return 3;\n" + 
9054
		"				case 2626 :\n" + 
9055
		"					return 3;\n" + 
9056
		"				case 2627 :\n" + 
9057
		"					return 3;\n" + 
9058
		"				case 2628 :\n" + 
9059
		"					return 3;\n" + 
9060
		"				case 2629 :\n" + 
9061
		"					return 3;\n" + 
9062
		"				case 2630 :\n" + 
9063
		"					return 3;\n" + 
9064
		"				case 2631 :\n" + 
9065
		"					return 3;\n" + 
9066
		"				case 2632 :\n" + 
9067
		"					return 3;\n" + 
9068
		"				case 2633 :\n" + 
9069
		"					return 3;\n" + 
9070
		"				case 2634 :\n" + 
9071
		"					return 3;\n" + 
9072
		"				case 2635 :\n" + 
9073
		"					return 3;\n" + 
9074
		"				case 2636 :\n" + 
9075
		"					return 3;\n" + 
9076
		"				case 2637 :\n" + 
9077
		"					return 3;\n" + 
9078
		"				case 2638 :\n" + 
9079
		"					return 3;\n" + 
9080
		"				case 2639 :\n" + 
9081
		"					return 3;\n" + 
9082
		"				case 2640 :\n" + 
9083
		"					return 3;\n" + 
9084
		"				case 2641 :\n" + 
9085
		"					return 3;\n" + 
9086
		"				case 2642 :\n" + 
9087
		"					return 3;\n" + 
9088
		"				case 2643 :\n" + 
9089
		"					return 3;\n" + 
9090
		"				case 2644 :\n" + 
9091
		"					return 3;\n" + 
9092
		"				case 2645 :\n" + 
9093
		"					return 3;\n" + 
9094
		"				case 2646 :\n" + 
9095
		"					return 3;\n" + 
9096
		"				case 2647 :\n" + 
9097
		"					return 3;\n" + 
9098
		"				case 2648 :\n" + 
9099
		"					return 3;\n" + 
9100
		"				case 2649 :\n" + 
9101
		"					return 3;\n" + 
9102
		"				case 2650 :\n" + 
9103
		"					return 3;\n" + 
9104
		"				case 2651 :\n" + 
9105
		"					return 3;\n" + 
9106
		"				case 2652 :\n" + 
9107
		"					return 3;\n" + 
9108
		"				case 2653 :\n" + 
9109
		"					return 3;\n" + 
9110
		"				case 2654 :\n" + 
9111
		"					return 3;\n" + 
9112
		"				case 2655 :\n" + 
9113
		"					return 3;\n" + 
9114
		"				case 2656 :\n" + 
9115
		"					return 3;\n" + 
9116
		"				case 2657 :\n" + 
9117
		"					return 3;\n" + 
9118
		"				case 2658 :\n" + 
9119
		"					return 3;\n" + 
9120
		"				case 2659 :\n" + 
9121
		"					return 3;\n" + 
9122
		"				case 2660 :\n" + 
9123
		"					return 3;\n" + 
9124
		"				case 2661 :\n" + 
9125
		"					return 3;\n" + 
9126
		"				case 2662 :\n" + 
9127
		"					return 3;\n" + 
9128
		"				case 2663 :\n" + 
9129
		"					return 3;\n" + 
9130
		"				case 2664 :\n" + 
9131
		"					return 3;\n" + 
9132
		"				case 2665 :\n" + 
9133
		"					return 3;\n" + 
9134
		"				case 2666 :\n" + 
9135
		"					return 3;\n" + 
9136
		"				case 2667 :\n" + 
9137
		"					return 3;\n" + 
9138
		"				case 2668 :\n" + 
9139
		"					return 3;\n" + 
9140
		"				case 2669 :\n" + 
9141
		"					return 3;\n" + 
9142
		"				case 2670 :\n" + 
9143
		"					return 3;\n" + 
9144
		"				case 2671 :\n" + 
9145
		"					return 3;\n" + 
9146
		"				case 2672 :\n" + 
9147
		"					return 3;\n" + 
9148
		"				case 2673 :\n" + 
9149
		"					return 3;\n" + 
9150
		"				case 2674 :\n" + 
9151
		"					return 3;\n" + 
9152
		"				case 2675 :\n" + 
9153
		"					return 3;\n" + 
9154
		"				case 2676 :\n" + 
9155
		"					return 3;\n" + 
9156
		"				case 2677 :\n" + 
9157
		"					return 3;\n" + 
9158
		"				case 2678 :\n" + 
9159
		"					return 3;\n" + 
9160
		"				case 2679 :\n" + 
9161
		"					return 3;\n" + 
9162
		"				case 2680 :\n" + 
9163
		"					return 3;\n" + 
9164
		"				case 2681 :\n" + 
9165
		"					return 3;\n" + 
9166
		"				case 2682 :\n" + 
9167
		"					return 3;\n" + 
9168
		"				case 2683 :\n" + 
9169
		"					return 3;\n" + 
9170
		"				case 2684 :\n" + 
9171
		"					return 3;\n" + 
9172
		"				case 2685 :\n" + 
9173
		"					return 3;\n" + 
9174
		"				case 2686 :\n" + 
9175
		"					return 3;\n" + 
9176
		"				case 2687 :\n" + 
9177
		"					return 3;\n" + 
9178
		"				case 2688 :\n" + 
9179
		"					return 3;\n" + 
9180
		"				case 2689 :\n" + 
9181
		"					return 3;\n" + 
9182
		"				case 2690 :\n" + 
9183
		"					return 3;\n" + 
9184
		"				case 2691 :\n" + 
9185
		"					return 3;\n" + 
9186
		"				case 2692 :\n" + 
9187
		"					return 3;\n" + 
9188
		"				case 2693 :\n" + 
9189
		"					return 3;\n" + 
9190
		"				case 2694 :\n" + 
9191
		"					return 3;\n" + 
9192
		"				case 2695 :\n" + 
9193
		"					return 3;\n" + 
9194
		"				case 2696 :\n" + 
9195
		"					return 3;\n" + 
9196
		"				case 2697 :\n" + 
9197
		"					return 3;\n" + 
9198
		"				case 2698 :\n" + 
9199
		"					return 3;\n" + 
9200
		"				case 2699 :\n" + 
9201
		"					return 3;\n" + 
9202
		"				case 2700 :\n" + 
9203
		"					return 3;\n" + 
9204
		"				case 2701 :\n" + 
9205
		"					return 3;\n" + 
9206
		"				case 2702 :\n" + 
9207
		"					return 3;\n" + 
9208
		"				case 2703 :\n" + 
9209
		"					return 3;\n" + 
9210
		"				case 2704 :\n" + 
9211
		"					return 3;\n" + 
9212
		"				case 2705 :\n" + 
9213
		"					return 3;\n" + 
9214
		"				case 2706 :\n" + 
9215
		"					return 3;\n" + 
9216
		"				case 2707 :\n" + 
9217
		"					return 3;\n" + 
9218
		"				case 2708 :\n" + 
9219
		"					return 3;\n" + 
9220
		"				case 2709 :\n" + 
9221
		"					return 3;\n" + 
9222
		"				case 2710 :\n" + 
9223
		"					return 3;\n" + 
9224
		"				case 2711 :\n" + 
9225
		"					return 3;\n" + 
9226
		"				case 2712 :\n" + 
9227
		"					return 3;\n" + 
9228
		"				case 2713 :\n" + 
9229
		"					return 3;\n" + 
9230
		"				case 2714 :\n" + 
9231
		"					return 3;\n" + 
9232
		"				case 2715 :\n" + 
9233
		"					return 3;\n" + 
9234
		"				case 2716 :\n" + 
9235
		"					return 3;\n" + 
9236
		"				case 2717 :\n" + 
9237
		"					return 3;\n" + 
9238
		"				case 2718 :\n" + 
9239
		"					return 3;\n" + 
9240
		"				case 2719 :\n" + 
9241
		"					return 3;\n" + 
9242
		"				case 2720 :\n" + 
9243
		"					return 3;\n" + 
9244
		"				case 2721 :\n" + 
9245
		"					return 3;\n" + 
9246
		"				case 2722 :\n" + 
9247
		"					return 3;\n" + 
9248
		"				case 2723 :\n" + 
9249
		"					return 3;\n" + 
9250
		"				case 2724 :\n" + 
9251
		"					return 3;\n" + 
9252
		"				case 2725 :\n" + 
9253
		"					return 3;\n" + 
9254
		"				case 2726 :\n" + 
9255
		"					return 3;\n" + 
9256
		"				case 2727 :\n" + 
9257
		"					return 3;\n" + 
9258
		"				case 2728 :\n" + 
9259
		"					return 3;\n" + 
9260
		"				case 2729 :\n" + 
9261
		"					return 3;\n" + 
9262
		"				case 2730 :\n" + 
9263
		"					return 3;\n" + 
9264
		"				case 2731 :\n" + 
9265
		"					return 3;\n" + 
9266
		"				case 2732 :\n" + 
9267
		"					return 3;\n" + 
9268
		"				case 2733 :\n" + 
9269
		"					return 3;\n" + 
9270
		"				case 2734 :\n" + 
9271
		"					return 3;\n" + 
9272
		"				case 2735 :\n" + 
9273
		"					return 3;\n" + 
9274
		"				case 2736 :\n" + 
9275
		"					return 3;\n" + 
9276
		"				case 2737 :\n" + 
9277
		"					return 3;\n" + 
9278
		"				case 2738 :\n" + 
9279
		"					return 3;\n" + 
9280
		"				case 2739 :\n" + 
9281
		"					return 3;\n" + 
9282
		"				case 2740 :\n" + 
9283
		"					return 3;\n" + 
9284
		"				case 2741 :\n" + 
9285
		"					return 3;\n" + 
9286
		"				case 2742 :\n" + 
9287
		"					return 3;\n" + 
9288
		"				case 2743 :\n" + 
9289
		"					return 3;\n" + 
9290
		"				case 2744 :\n" + 
9291
		"					return 3;\n" + 
9292
		"				case 2745 :\n" + 
9293
		"					return 3;\n" + 
9294
		"				case 2746 :\n" + 
9295
		"					return 3;\n" + 
9296
		"				case 2747 :\n" + 
9297
		"					return 3;\n" + 
9298
		"				case 2748 :\n" + 
9299
		"					return 3;\n" + 
9300
		"				case 2749 :\n" + 
9301
		"					return 3;\n" + 
9302
		"				case 2750 :\n" + 
9303
		"					return 3;\n" + 
9304
		"				case 2751 :\n" + 
9305
		"					return 3;\n" + 
9306
		"				case 2752 :\n" + 
9307
		"					return 3;\n" + 
9308
		"				case 2753 :\n" + 
9309
		"					return 3;\n" + 
9310
		"				case 2754 :\n" + 
9311
		"					return 3;\n" + 
9312
		"				case 2755 :\n" + 
9313
		"					return 3;\n" + 
9314
		"				case 2756 :\n" + 
9315
		"					return 3;\n" + 
9316
		"				case 2757 :\n" + 
9317
		"					return 3;\n" + 
9318
		"				case 2758 :\n" + 
9319
		"					return 3;\n" + 
9320
		"				case 2759 :\n" + 
9321
		"					return 3;\n" + 
9322
		"				case 2760 :\n" + 
9323
		"					return 3;\n" + 
9324
		"				case 2761 :\n" + 
9325
		"					return 3;\n" + 
9326
		"				case 2762 :\n" + 
9327
		"					return 3;\n" + 
9328
		"				case 2763 :\n" + 
9329
		"					return 3;\n" + 
9330
		"				case 2764 :\n" + 
9331
		"					return 3;\n" + 
9332
		"				case 2765 :\n" + 
9333
		"					return 3;\n" + 
9334
		"				case 2766 :\n" + 
9335
		"					return 3;\n" + 
9336
		"				case 2767 :\n" + 
9337
		"					return 3;\n" + 
9338
		"				case 2768 :\n" + 
9339
		"					return 3;\n" + 
9340
		"				case 2769 :\n" + 
9341
		"					return 3;\n" + 
9342
		"				case 2770 :\n" + 
9343
		"					return 3;\n" + 
9344
		"				case 2771 :\n" + 
9345
		"					return 3;\n" + 
9346
		"				case 2772 :\n" + 
9347
		"					return 3;\n" + 
9348
		"				case 2773 :\n" + 
9349
		"					return 3;\n" + 
9350
		"				case 2774 :\n" + 
9351
		"					return 3;\n" + 
9352
		"				case 2775 :\n" + 
9353
		"					return 3;\n" + 
9354
		"				case 2776 :\n" + 
9355
		"					return 3;\n" + 
9356
		"				case 2777 :\n" + 
9357
		"					return 3;\n" + 
9358
		"				case 2778 :\n" + 
9359
		"					return 3;\n" + 
9360
		"				case 2779 :\n" + 
9361
		"					return 3;\n" + 
9362
		"				case 2780 :\n" + 
9363
		"					return 3;\n" + 
9364
		"				case 2781 :\n" + 
9365
		"					return 3;\n" + 
9366
		"				case 2782 :\n" + 
9367
		"					return 3;\n" + 
9368
		"				case 2783 :\n" + 
9369
		"					return 3;\n" + 
9370
		"				case 2784 :\n" + 
9371
		"					return 3;\n" + 
9372
		"				case 2785 :\n" + 
9373
		"					return 3;\n" + 
9374
		"				case 2786 :\n" + 
9375
		"					return 3;\n" + 
9376
		"				case 2787 :\n" + 
9377
		"					return 3;\n" + 
9378
		"				case 2788 :\n" + 
9379
		"					return 3;\n" + 
9380
		"				case 2789 :\n" + 
9381
		"					return 3;\n" + 
9382
		"				case 2790 :\n" + 
9383
		"					return 3;\n" + 
9384
		"				case 2791 :\n" + 
9385
		"					return 3;\n" + 
9386
		"				case 2792 :\n" + 
9387
		"					return 3;\n" + 
9388
		"				case 2793 :\n" + 
9389
		"					return 3;\n" + 
9390
		"				case 2794 :\n" + 
9391
		"					return 3;\n" + 
9392
		"				case 2795 :\n" + 
9393
		"					return 3;\n" + 
9394
		"				case 2796 :\n" + 
9395
		"					return 3;\n" + 
9396
		"				case 2797 :\n" + 
9397
		"					return 3;\n" + 
9398
		"				case 2798 :\n" + 
9399
		"					return 3;\n" + 
9400
		"				case 2799 :\n" + 
9401
		"					return 3;\n" + 
9402
		"				case 2800 :\n" + 
9403
		"					return 3;\n" + 
9404
		"				case 2801 :\n" + 
9405
		"					return 3;\n" + 
9406
		"				case 2802 :\n" + 
9407
		"					return 3;\n" + 
9408
		"				case 2803 :\n" + 
9409
		"					return 3;\n" + 
9410
		"				case 2804 :\n" + 
9411
		"					return 3;\n" + 
9412
		"				case 2805 :\n" + 
9413
		"					return 3;\n" + 
9414
		"				case 2806 :\n" + 
9415
		"					return 3;\n" + 
9416
		"				case 2807 :\n" + 
9417
		"					return 3;\n" + 
9418
		"				case 2808 :\n" + 
9419
		"					return 3;\n" + 
9420
		"				case 2809 :\n" + 
9421
		"					return 3;\n" + 
9422
		"				case 2810 :\n" + 
9423
		"					return 3;\n" + 
9424
		"				case 2811 :\n" + 
9425
		"					return 3;\n" + 
9426
		"				case 2812 :\n" + 
9427
		"					return 3;\n" + 
9428
		"				case 2813 :\n" + 
9429
		"					return 3;\n" + 
9430
		"				case 2814 :\n" + 
9431
		"					return 3;\n" + 
9432
		"				case 2815 :\n" + 
9433
		"					return 3;\n" + 
9434
		"				case 2816 :\n" + 
9435
		"					return 3;\n" + 
9436
		"				case 2817 :\n" + 
9437
		"					return 3;\n" + 
9438
		"				case 2818 :\n" + 
9439
		"					return 3;\n" + 
9440
		"				case 2819 :\n" + 
9441
		"					return 3;\n" + 
9442
		"				case 2820 :\n" + 
9443
		"					return 3;\n" + 
9444
		"				case 2821 :\n" + 
9445
		"					return 3;\n" + 
9446
		"				case 2822 :\n" + 
9447
		"					return 3;\n" + 
9448
		"				case 2823 :\n" + 
9449
		"					return 3;\n" + 
9450
		"				case 2824 :\n" + 
9451
		"					return 3;\n" + 
9452
		"				case 2825 :\n" + 
9453
		"					return 3;\n" + 
9454
		"				case 2826 :\n" + 
9455
		"					return 3;\n" + 
9456
		"				case 2827 :\n" + 
9457
		"					return 3;\n" + 
9458
		"				case 2828 :\n" + 
9459
		"					return 3;\n" + 
9460
		"				case 2829 :\n" + 
9461
		"					return 3;\n" + 
9462
		"				case 2830 :\n" + 
9463
		"					return 3;\n" + 
9464
		"				case 2831 :\n" + 
9465
		"					return 3;\n" + 
9466
		"				case 2832 :\n" + 
9467
		"					return 3;\n" + 
9468
		"				case 2833 :\n" + 
9469
		"					return 3;\n" + 
9470
		"				case 2834 :\n" + 
9471
		"					return 3;\n" + 
9472
		"				case 2835 :\n" + 
9473
		"					return 3;\n" + 
9474
		"				case 2836 :\n" + 
9475
		"					return 3;\n" + 
9476
		"				case 2837 :\n" + 
9477
		"					return 3;\n" + 
9478
		"				case 2838 :\n" + 
9479
		"					return 3;\n" + 
9480
		"				case 2839 :\n" + 
9481
		"					return 3;\n" + 
9482
		"				case 2840 :\n" + 
9483
		"					return 3;\n" + 
9484
		"				case 2841 :\n" + 
9485
		"					return 3;\n" + 
9486
		"				case 2842 :\n" + 
9487
		"					return 3;\n" + 
9488
		"				case 2843 :\n" + 
9489
		"					return 3;\n" + 
9490
		"				case 2844 :\n" + 
9491
		"					return 3;\n" + 
9492
		"				case 2845 :\n" + 
9493
		"					return 3;\n" + 
9494
		"				case 2846 :\n" + 
9495
		"					return 3;\n" + 
9496
		"				case 2847 :\n" + 
9497
		"					return 3;\n" + 
9498
		"				case 2848 :\n" + 
9499
		"					return 3;\n" + 
9500
		"				case 2849 :\n" + 
9501
		"					return 3;\n" + 
9502
		"				case 2850 :\n" + 
9503
		"					return 3;\n" + 
9504
		"				case 2851 :\n" + 
9505
		"					return 3;\n" + 
9506
		"				case 2852 :\n" + 
9507
		"					return 3;\n" + 
9508
		"				case 2853 :\n" + 
9509
		"					return 3;\n" + 
9510
		"				case 2854 :\n" + 
9511
		"					return 3;\n" + 
9512
		"				case 2855 :\n" + 
9513
		"					return 3;\n" + 
9514
		"				case 2856 :\n" + 
9515
		"					return 3;\n" + 
9516
		"				case 2857 :\n" + 
9517
		"					return 3;\n" + 
9518
		"				case 2858 :\n" + 
9519
		"					return 3;\n" + 
9520
		"				case 2859 :\n" + 
9521
		"					return 3;\n" + 
9522
		"				case 2860 :\n" + 
9523
		"					return 3;\n" + 
9524
		"				case 2861 :\n" + 
9525
		"					return 3;\n" + 
9526
		"				case 2862 :\n" + 
9527
		"					return 3;\n" + 
9528
		"				case 2863 :\n" + 
9529
		"					return 3;\n" + 
9530
		"				case 2864 :\n" + 
9531
		"					return 3;\n" + 
9532
		"				case 2865 :\n" + 
9533
		"					return 3;\n" + 
9534
		"				case 2866 :\n" + 
9535
		"					return 3;\n" + 
9536
		"				case 2867 :\n" + 
9537
		"					return 3;\n" + 
9538
		"				case 2868 :\n" + 
9539
		"					return 3;\n" + 
9540
		"				case 2869 :\n" + 
9541
		"					return 3;\n" + 
9542
		"				case 2870 :\n" + 
9543
		"					return 3;\n" + 
9544
		"				case 2871 :\n" + 
9545
		"					return 3;\n" + 
9546
		"				case 2872 :\n" + 
9547
		"					return 3;\n" + 
9548
		"				case 2873 :\n" + 
9549
		"					return 3;\n" + 
9550
		"				case 2874 :\n" + 
9551
		"					return 3;\n" + 
9552
		"				case 2875 :\n" + 
9553
		"					return 3;\n" + 
9554
		"				case 2876 :\n" + 
9555
		"					return 3;\n" + 
9556
		"				case 2877 :\n" + 
9557
		"					return 3;\n" + 
9558
		"				case 2878 :\n" + 
9559
		"					return 3;\n" + 
9560
		"				case 2879 :\n" + 
9561
		"					return 3;\n" + 
9562
		"				case 2880 :\n" + 
9563
		"					return 3;\n" + 
9564
		"				case 2881 :\n" + 
9565
		"					return 3;\n" + 
9566
		"				case 2882 :\n" + 
9567
		"					return 3;\n" + 
9568
		"				case 2883 :\n" + 
9569
		"					return 3;\n" + 
9570
		"				case 2884 :\n" + 
9571
		"					return 3;\n" + 
9572
		"				case 2885 :\n" + 
9573
		"					return 3;\n" + 
9574
		"				case 2886 :\n" + 
9575
		"					return 3;\n" + 
9576
		"				case 2887 :\n" + 
9577
		"					return 3;\n" + 
9578
		"				case 2888 :\n" + 
9579
		"					return 3;\n" + 
9580
		"				case 2889 :\n" + 
9581
		"					return 3;\n" + 
9582
		"				case 2890 :\n" + 
9583
		"					return 3;\n" + 
9584
		"				case 2891 :\n" + 
9585
		"					return 3;\n" + 
9586
		"				case 2892 :\n" + 
9587
		"					return 3;\n" + 
9588
		"				case 2893 :\n" + 
9589
		"					return 3;\n" + 
9590
		"				case 2894 :\n" + 
9591
		"					return 3;\n" + 
9592
		"				case 2895 :\n" + 
9593
		"					return 3;\n" + 
9594
		"				case 2896 :\n" + 
9595
		"					return 3;\n" + 
9596
		"				case 2897 :\n" + 
9597
		"					return 3;\n" + 
9598
		"				case 2898 :\n" + 
9599
		"					return 3;\n" + 
9600
		"				case 2899 :\n" + 
9601
		"					return 3;\n" + 
9602
		"				case 2900 :\n" + 
9603
		"					return 3;\n" + 
9604
		"				case 2901 :\n" + 
9605
		"					return 3;\n" + 
9606
		"				case 2902 :\n" + 
9607
		"					return 3;\n" + 
9608
		"				case 2903 :\n" + 
9609
		"					return 3;\n" + 
9610
		"				case 2904 :\n" + 
9611
		"					return 3;\n" + 
9612
		"				case 2905 :\n" + 
9613
		"					return 3;\n" + 
9614
		"				case 2906 :\n" + 
9615
		"					return 3;\n" + 
9616
		"				case 2907 :\n" + 
9617
		"					return 3;\n" + 
9618
		"				case 2908 :\n" + 
9619
		"					return 3;\n" + 
9620
		"				case 2909 :\n" + 
9621
		"					return 3;\n" + 
9622
		"				case 2910 :\n" + 
9623
		"					return 3;\n" + 
9624
		"				case 2911 :\n" + 
9625
		"					return 3;\n" + 
9626
		"				case 2912 :\n" + 
9627
		"					return 3;\n" + 
9628
		"				case 2913 :\n" + 
9629
		"					return 3;\n" + 
9630
		"				case 2914 :\n" + 
9631
		"					return 3;\n" + 
9632
		"				case 2915 :\n" + 
9633
		"					return 3;\n" + 
9634
		"				case 2916 :\n" + 
9635
		"					return 3;\n" + 
9636
		"				case 2917 :\n" + 
9637
		"					return 3;\n" + 
9638
		"				case 2918 :\n" + 
9639
		"					return 3;\n" + 
9640
		"				case 2919 :\n" + 
9641
		"					return 3;\n" + 
9642
		"				case 2920 :\n" + 
9643
		"					return 3;\n" + 
9644
		"				case 2921 :\n" + 
9645
		"					return 3;\n" + 
9646
		"				case 2922 :\n" + 
9647
		"					return 3;\n" + 
9648
		"				case 2923 :\n" + 
9649
		"					return 3;\n" + 
9650
		"				case 2924 :\n" + 
9651
		"					return 3;\n" + 
9652
		"				case 2925 :\n" + 
9653
		"					return 3;\n" + 
9654
		"				case 2926 :\n" + 
9655
		"					return 3;\n" + 
9656
		"				case 2927 :\n" + 
9657
		"					return 3;\n" + 
9658
		"				case 2928 :\n" + 
9659
		"					return 3;\n" + 
9660
		"				case 2929 :\n" + 
9661
		"					return 3;\n" + 
9662
		"				case 2930 :\n" + 
9663
		"					return 3;\n" + 
9664
		"				case 2931 :\n" + 
9665
		"					return 3;\n" + 
9666
		"				case 2932 :\n" + 
9667
		"					return 3;\n" + 
9668
		"				case 2933 :\n" + 
9669
		"					return 3;\n" + 
9670
		"				case 2934 :\n" + 
9671
		"					return 3;\n" + 
9672
		"				case 2935 :\n" + 
9673
		"					return 3;\n" + 
9674
		"				case 2936 :\n" + 
9675
		"					return 3;\n" + 
9676
		"				case 2937 :\n" + 
9677
		"					return 3;\n" + 
9678
		"				case 2938 :\n" + 
9679
		"					return 3;\n" + 
9680
		"				case 2939 :\n" + 
9681
		"					return 3;\n" + 
9682
		"				case 2940 :\n" + 
9683
		"					return 3;\n" + 
9684
		"				case 2941 :\n" + 
9685
		"					return 3;\n" + 
9686
		"				case 2942 :\n" + 
9687
		"					return 3;\n" + 
9688
		"				case 2943 :\n" + 
9689
		"					return 3;\n" + 
9690
		"				case 2944 :\n" + 
9691
		"					return 3;\n" + 
9692
		"				case 2945 :\n" + 
9693
		"					return 3;\n" + 
9694
		"				case 2946 :\n" + 
9695
		"					return 3;\n" + 
9696
		"				case 2947 :\n" + 
9697
		"					return 3;\n" + 
9698
		"				case 2948 :\n" + 
9699
		"					return 3;\n" + 
9700
		"				case 2949 :\n" + 
9701
		"					return 3;\n" + 
9702
		"				case 2950 :\n" + 
9703
		"					return 3;\n" + 
9704
		"				case 2951 :\n" + 
9705
		"					return 3;\n" + 
9706
		"				case 2952 :\n" + 
9707
		"					return 3;\n" + 
9708
		"				case 2953 :\n" + 
9709
		"					return 3;\n" + 
9710
		"				case 2954 :\n" + 
9711
		"					return 3;\n" + 
9712
		"				case 2955 :\n" + 
9713
		"					return 3;\n" + 
9714
		"				case 2956 :\n" + 
9715
		"					return 3;\n" + 
9716
		"				case 2957 :\n" + 
9717
		"					return 3;\n" + 
9718
		"				case 2958 :\n" + 
9719
		"					return 3;\n" + 
9720
		"				case 2959 :\n" + 
9721
		"					return 3;\n" + 
9722
		"				case 2960 :\n" + 
9723
		"					return 3;\n" + 
9724
		"				case 2961 :\n" + 
9725
		"					return 3;\n" + 
9726
		"				case 2962 :\n" + 
9727
		"					return 3;\n" + 
9728
		"				case 2963 :\n" + 
9729
		"					return 3;\n" + 
9730
		"				case 2964 :\n" + 
9731
		"					return 3;\n" + 
9732
		"				case 2965 :\n" + 
9733
		"					return 3;\n" + 
9734
		"				case 2966 :\n" + 
9735
		"					return 3;\n" + 
9736
		"				case 2967 :\n" + 
9737
		"					return 3;\n" + 
9738
		"				case 2968 :\n" + 
9739
		"					return 3;\n" + 
9740
		"				case 2969 :\n" + 
9741
		"					return 3;\n" + 
9742
		"				case 2970 :\n" + 
9743
		"					return 3;\n" + 
9744
		"				case 2971 :\n" + 
9745
		"					return 3;\n" + 
9746
		"				case 2972 :\n" + 
9747
		"					return 3;\n" + 
9748
		"				case 2973 :\n" + 
9749
		"					return 3;\n" + 
9750
		"				case 2974 :\n" + 
9751
		"					return 3;\n" + 
9752
		"				case 2975 :\n" + 
9753
		"					return 3;\n" + 
9754
		"				case 2976 :\n" + 
9755
		"					return 3;\n" + 
9756
		"				case 2977 :\n" + 
9757
		"					return 3;\n" + 
9758
		"				case 2978 :\n" + 
9759
		"					return 3;\n" + 
9760
		"				case 2979 :\n" + 
9761
		"					return 3;\n" + 
9762
		"				case 2980 :\n" + 
9763
		"					return 3;\n" + 
9764
		"				case 2981 :\n" + 
9765
		"					return 3;\n" + 
9766
		"				case 2982 :\n" + 
9767
		"					return 3;\n" + 
9768
		"				case 2983 :\n" + 
9769
		"					return 3;\n" + 
9770
		"				case 2984 :\n" + 
9771
		"					return 3;\n" + 
9772
		"				case 2985 :\n" + 
9773
		"					return 3;\n" + 
9774
		"				case 2986 :\n" + 
9775
		"					return 3;\n" + 
9776
		"				case 2987 :\n" + 
9777
		"					return 3;\n" + 
9778
		"				case 2988 :\n" + 
9779
		"					return 3;\n" + 
9780
		"				case 2989 :\n" + 
9781
		"					return 3;\n" + 
9782
		"				case 2990 :\n" + 
9783
		"					return 3;\n" + 
9784
		"				case 2991 :\n" + 
9785
		"					return 3;\n" + 
9786
		"				case 2992 :\n" + 
9787
		"					return 3;\n" + 
9788
		"				case 2993 :\n" + 
9789
		"					return 3;\n" + 
9790
		"				case 2994 :\n" + 
9791
		"					return 3;\n" + 
9792
		"				case 2995 :\n" + 
9793
		"					return 3;\n" + 
9794
		"				case 2996 :\n" + 
9795
		"					return 3;\n" + 
9796
		"				case 2997 :\n" + 
9797
		"					return 3;\n" + 
9798
		"				case 2998 :\n" + 
9799
		"					return 3;\n" + 
9800
		"				case 2999 :\n" + 
9801
		"					return 3;\n" + 
9802
		"				case 3000 :\n" + 
9803
		"					return 3;\n" + 
9804
		"				case 3001 :\n" + 
9805
		"					return 3;\n" + 
9806
		"				case 3002 :\n" + 
9807
		"					return 3;\n" + 
9808
		"				case 3003 :\n" + 
9809
		"					return 3;\n" + 
9810
		"				case 3004 :\n" + 
9811
		"					return 3;\n" + 
9812
		"				case 3005 :\n" + 
9813
		"					return 3;\n" + 
9814
		"				case 3006 :\n" + 
9815
		"					return 3;\n" + 
9816
		"				case 3007 :\n" + 
9817
		"					return 3;\n" + 
9818
		"				case 3008 :\n" + 
9819
		"					return 3;\n" + 
9820
		"				case 3009 :\n" + 
9821
		"					return 3;\n" + 
9822
		"				case 3010 :\n" + 
9823
		"					return 3;\n" + 
9824
		"				case 3011 :\n" + 
9825
		"					return 3;\n" + 
9826
		"				case 3012 :\n" + 
9827
		"					return 3;\n" + 
9828
		"				case 3013 :\n" + 
9829
		"					return 3;\n" + 
9830
		"				case 3014 :\n" + 
9831
		"					return 3;\n" + 
9832
		"				case 3015 :\n" + 
9833
		"					return 3;\n" + 
9834
		"				case 3016 :\n" + 
9835
		"					return 3;\n" + 
9836
		"				case 3017 :\n" + 
9837
		"					return 3;\n" + 
9838
		"				case 3018 :\n" + 
9839
		"					return 3;\n" + 
9840
		"				case 3019 :\n" + 
9841
		"					return 3;\n" + 
9842
		"				case 3020 :\n" + 
9843
		"					return 3;\n" + 
9844
		"				case 3021 :\n" + 
9845
		"					return 3;\n" + 
9846
		"				case 3022 :\n" + 
9847
		"					return 3;\n" + 
9848
		"				case 3023 :\n" + 
9849
		"					return 3;\n" + 
9850
		"				case 3024 :\n" + 
9851
		"					return 3;\n" + 
9852
		"				case 3025 :\n" + 
9853
		"					return 3;\n" + 
9854
		"				case 3026 :\n" + 
9855
		"					return 3;\n" + 
9856
		"				case 3027 :\n" + 
9857
		"					return 3;\n" + 
9858
		"				case 3028 :\n" + 
9859
		"					return 3;\n" + 
9860
		"				case 3029 :\n" + 
9861
		"					return 3;\n" + 
9862
		"				case 3030 :\n" + 
9863
		"					return 3;\n" + 
9864
		"				case 3031 :\n" + 
9865
		"					return 3;\n" + 
9866
		"				case 3032 :\n" + 
9867
		"					return 3;\n" + 
9868
		"				case 3033 :\n" + 
9869
		"					return 3;\n" + 
9870
		"				case 3034 :\n" + 
9871
		"					return 3;\n" + 
9872
		"				case 3035 :\n" + 
9873
		"					return 3;\n" + 
9874
		"				case 3036 :\n" + 
9875
		"					return 3;\n" + 
9876
		"				case 3037 :\n" + 
9877
		"					return 3;\n" + 
9878
		"				case 3038 :\n" + 
9879
		"					return 3;\n" + 
9880
		"				case 3039 :\n" + 
9881
		"					return 3;\n" + 
9882
		"				case 3040 :\n" + 
9883
		"					return 3;\n" + 
9884
		"				case 3041 :\n" + 
9885
		"					return 3;\n" + 
9886
		"				case 3042 :\n" + 
9887
		"					return 3;\n" + 
9888
		"				case 3043 :\n" + 
9889
		"					return 3;\n" + 
9890
		"				case 3044 :\n" + 
9891
		"					return 3;\n" + 
9892
		"				case 3045 :\n" + 
9893
		"					return 3;\n" + 
9894
		"				case 3046 :\n" + 
9895
		"					return 3;\n" + 
9896
		"				case 3047 :\n" + 
9897
		"					return 3;\n" + 
9898
		"				case 3048 :\n" + 
9899
		"					return 3;\n" + 
9900
		"				case 3049 :\n" + 
9901
		"					return 3;\n" + 
9902
		"				case 3050 :\n" + 
9903
		"					return 3;\n" + 
9904
		"				case 3051 :\n" + 
9905
		"					return 3;\n" + 
9906
		"				case 3052 :\n" + 
9907
		"					return 3;\n" + 
9908
		"				case 3053 :\n" + 
9909
		"					return 3;\n" + 
9910
		"				case 3054 :\n" + 
9911
		"					return 3;\n" + 
9912
		"				case 3055 :\n" + 
9913
		"					return 3;\n" + 
9914
		"				case 3056 :\n" + 
9915
		"					return 3;\n" + 
9916
		"				case 3057 :\n" + 
9917
		"					return 3;\n" + 
9918
		"				case 3058 :\n" + 
9919
		"					return 3;\n" + 
9920
		"				case 3059 :\n" + 
9921
		"					return 3;\n" + 
9922
		"				case 3060 :\n" + 
9923
		"					return 3;\n" + 
9924
		"				case 3061 :\n" + 
9925
		"					return 3;\n" + 
9926
		"				case 3062 :\n" + 
9927
		"					return 3;\n" + 
9928
		"				case 3063 :\n" + 
9929
		"					return 3;\n" + 
9930
		"				case 3064 :\n" + 
9931
		"					return 3;\n" + 
9932
		"				case 3065 :\n" + 
9933
		"					return 3;\n" + 
9934
		"				case 3066 :\n" + 
9935
		"					return 3;\n" + 
9936
		"				case 3067 :\n" + 
9937
		"					return 3;\n" + 
9938
		"				case 3068 :\n" + 
9939
		"					return 3;\n" + 
9940
		"				case 3069 :\n" + 
9941
		"					return 3;\n" + 
9942
		"				case 3070 :\n" + 
9943
		"					return 3;\n" + 
9944
		"				case 3071 :\n" + 
9945
		"					return 3;\n" + 
9946
		"				case 3072 :\n" + 
9947
		"					return 3;\n" + 
9948
		"				case 3073 :\n" + 
9949
		"					return 3;\n" + 
9950
		"				case 3074 :\n" + 
9951
		"					return 3;\n" + 
9952
		"				case 3075 :\n" + 
9953
		"					return 3;\n" + 
9954
		"				case 3076 :\n" + 
9955
		"					return 3;\n" + 
9956
		"				case 3077 :\n" + 
9957
		"					return 3;\n" + 
9958
		"				case 3078 :\n" + 
9959
		"					return 3;\n" + 
9960
		"				case 3079 :\n" + 
9961
		"					return 3;\n" + 
9962
		"				case 3080 :\n" + 
9963
		"					return 3;\n" + 
9964
		"				case 3081 :\n" + 
9965
		"					return 3;\n" + 
9966
		"				case 3082 :\n" + 
9967
		"					return 3;\n" + 
9968
		"				case 3083 :\n" + 
9969
		"					return 3;\n" + 
9970
		"				case 3084 :\n" + 
9971
		"					return 3;\n" + 
9972
		"				case 3085 :\n" + 
9973
		"					return 3;\n" + 
9974
		"				case 3086 :\n" + 
9975
		"					return 3;\n" + 
9976
		"				case 3087 :\n" + 
9977
		"					return 3;\n" + 
9978
		"				case 3088 :\n" + 
9979
		"					return 3;\n" + 
9980
		"				case 3089 :\n" + 
9981
		"					return 3;\n" + 
9982
		"				case 3090 :\n" + 
9983
		"					return 3;\n" + 
9984
		"				case 3091 :\n" + 
9985
		"					return 3;\n" + 
9986
		"				case 3092 :\n" + 
9987
		"					return 3;\n" + 
9988
		"				case 3093 :\n" + 
9989
		"					return 3;\n" + 
9990
		"				case 3094 :\n" + 
9991
		"					return 3;\n" + 
9992
		"				case 3095 :\n" + 
9993
		"					return 3;\n" + 
9994
		"				case 3096 :\n" + 
9995
		"					return 3;\n" + 
9996
		"				case 3097 :\n" + 
9997
		"					return 3;\n" + 
9998
		"				case 3098 :\n" + 
9999
		"					return 3;\n" + 
10000
		"				case 3099 :\n" + 
10001
		"					return 3;\n" + 
10002
		"				case 3100 :\n" + 
10003
		"					return 3;\n" + 
10004
		"				case 3101 :\n" + 
10005
		"					return 3;\n" + 
10006
		"				case 3102 :\n" + 
10007
		"					return 3;\n" + 
10008
		"				case 3103 :\n" + 
10009
		"					return 3;\n" + 
10010
		"				case 3104 :\n" + 
10011
		"					return 3;\n" + 
10012
		"				case 3105 :\n" + 
10013
		"					return 3;\n" + 
10014
		"				case 3106 :\n" + 
10015
		"					return 3;\n" + 
10016
		"				case 3107 :\n" + 
10017
		"					return 3;\n" + 
10018
		"				case 3108 :\n" + 
10019
		"					return 3;\n" + 
10020
		"				case 3109 :\n" + 
10021
		"					return 3;\n" + 
10022
		"				case 3110 :\n" + 
10023
		"					return 3;\n" + 
10024
		"				case 3111 :\n" + 
10025
		"					return 3;\n" + 
10026
		"				case 3112 :\n" + 
10027
		"					return 3;\n" + 
10028
		"				case 3113 :\n" + 
10029
		"					return 3;\n" + 
10030
		"				case 3114 :\n" + 
10031
		"					return 3;\n" + 
10032
		"				case 3115 :\n" + 
10033
		"					return 3;\n" + 
10034
		"				case 3116 :\n" + 
10035
		"					return 3;\n" + 
10036
		"				case 3117 :\n" + 
10037
		"					return 3;\n" + 
10038
		"				case 3118 :\n" + 
10039
		"					return 3;\n" + 
10040
		"				case 3119 :\n" + 
10041
		"					return 3;\n" + 
10042
		"				case 3120 :\n" + 
10043
		"					return 3;\n" + 
10044
		"				case 3121 :\n" + 
10045
		"					return 3;\n" + 
10046
		"				case 3122 :\n" + 
10047
		"					return 3;\n" + 
10048
		"				case 3123 :\n" + 
10049
		"					return 3;\n" + 
10050
		"				case 3124 :\n" + 
10051
		"					return 3;\n" + 
10052
		"				case 3125 :\n" + 
10053
		"					return 3;\n" + 
10054
		"				case 3126 :\n" + 
10055
		"					return 3;\n" + 
10056
		"				case 3127 :\n" + 
10057
		"					return 3;\n" + 
10058
		"				case 3128 :\n" + 
10059
		"					return 3;\n" + 
10060
		"				case 3129 :\n" + 
10061
		"					return 3;\n" + 
10062
		"				case 3130 :\n" + 
10063
		"					return 3;\n" + 
10064
		"				case 3131 :\n" + 
10065
		"					return 3;\n" + 
10066
		"				case 3132 :\n" + 
10067
		"					return 3;\n" + 
10068
		"				case 3133 :\n" + 
10069
		"					return 3;\n" + 
10070
		"				case 3134 :\n" + 
10071
		"					return 3;\n" + 
10072
		"				case 3135 :\n" + 
10073
		"					return 3;\n" + 
10074
		"				case 3136 :\n" + 
10075
		"					return 3;\n" + 
10076
		"				case 3137 :\n" + 
10077
		"					return 3;\n" + 
10078
		"				case 3138 :\n" + 
10079
		"					return 3;\n" + 
10080
		"				case 3139 :\n" + 
10081
		"					return 3;\n" + 
10082
		"				case 3140 :\n" + 
10083
		"					return 3;\n" + 
10084
		"				case 3141 :\n" + 
10085
		"					return 3;\n" + 
10086
		"				case 3142 :\n" + 
10087
		"					return 3;\n" + 
10088
		"				case 3143 :\n" + 
10089
		"					return 3;\n" + 
10090
		"				case 3144 :\n" + 
10091
		"					return 3;\n" + 
10092
		"				case 3145 :\n" + 
10093
		"					return 3;\n" + 
10094
		"				case 3146 :\n" + 
10095
		"					return 3;\n" + 
10096
		"				case 3147 :\n" + 
10097
		"					return 3;\n" + 
10098
		"				case 3148 :\n" + 
10099
		"					return 3;\n" + 
10100
		"				case 3149 :\n" + 
10101
		"					return 3;\n" + 
10102
		"				case 3150 :\n" + 
10103
		"					return 3;\n" + 
10104
		"				case 3151 :\n" + 
10105
		"					return 3;\n" + 
10106
		"				case 3152 :\n" + 
10107
		"					return 3;\n" + 
10108
		"				case 3153 :\n" + 
10109
		"					return 3;\n" + 
10110
		"				case 3154 :\n" + 
10111
		"					return 3;\n" + 
10112
		"				case 3155 :\n" + 
10113
		"					return 3;\n" + 
10114
		"				case 3156 :\n" + 
10115
		"					return 3;\n" + 
10116
		"				case 3157 :\n" + 
10117
		"					return 3;\n" + 
10118
		"				case 3158 :\n" + 
10119
		"					return 3;\n" + 
10120
		"				case 3159 :\n" + 
10121
		"					return 3;\n" + 
10122
		"				case 3160 :\n" + 
10123
		"					return 3;\n" + 
10124
		"				case 3161 :\n" + 
10125
		"					return 3;\n" + 
10126
		"				case 3162 :\n" + 
10127
		"					return 3;\n" + 
10128
		"				case 3163 :\n" + 
10129
		"					return 3;\n" + 
10130
		"				case 3164 :\n" + 
10131
		"					return 3;\n" + 
10132
		"				case 3165 :\n" + 
10133
		"					return 3;\n" + 
10134
		"				case 3166 :\n" + 
10135
		"					return 3;\n" + 
10136
		"				case 3167 :\n" + 
10137
		"					return 3;\n" + 
10138
		"				case 3168 :\n" + 
10139
		"					return 3;\n" + 
10140
		"				case 3169 :\n" + 
10141
		"					return 3;\n" + 
10142
		"				case 3170 :\n" + 
10143
		"					return 3;\n" + 
10144
		"				case 3171 :\n" + 
10145
		"					return 3;\n" + 
10146
		"				case 3172 :\n" + 
10147
		"					return 3;\n" + 
10148
		"				case 3173 :\n" + 
10149
		"					return 3;\n" + 
10150
		"				case 3174 :\n" + 
10151
		"					return 3;\n" + 
10152
		"				case 3175 :\n" + 
10153
		"					return 3;\n" + 
10154
		"				case 3176 :\n" + 
10155
		"					return 3;\n" + 
10156
		"				case 3177 :\n" + 
10157
		"					return 3;\n" + 
10158
		"				case 3178 :\n" + 
10159
		"					return 3;\n" + 
10160
		"				case 3179 :\n" + 
10161
		"					return 3;\n" + 
10162
		"				case 3180 :\n" + 
10163
		"					return 3;\n" + 
10164
		"				case 3181 :\n" + 
10165
		"					return 3;\n" + 
10166
		"				case 3182 :\n" + 
10167
		"					return 3;\n" + 
10168
		"				case 3183 :\n" + 
10169
		"					return 3;\n" + 
10170
		"				case 3184 :\n" + 
10171
		"					return 3;\n" + 
10172
		"				case 3185 :\n" + 
10173
		"					return 3;\n" + 
10174
		"				case 3186 :\n" + 
10175
		"					return 3;\n" + 
10176
		"				case 3187 :\n" + 
10177
		"					return 3;\n" + 
10178
		"				case 3188 :\n" + 
10179
		"					return 3;\n" + 
10180
		"				case 3189 :\n" + 
10181
		"					return 3;\n" + 
10182
		"				case 3190 :\n" + 
10183
		"					return 3;\n" + 
10184
		"				case 3191 :\n" + 
10185
		"					return 3;\n" + 
10186
		"				case 3192 :\n" + 
10187
		"					return 3;\n" + 
10188
		"				case 3193 :\n" + 
10189
		"					return 3;\n" + 
10190
		"				case 3194 :\n" + 
10191
		"					return 3;\n" + 
10192
		"				case 3195 :\n" + 
10193
		"					return 3;\n" + 
10194
		"				case 3196 :\n" + 
10195
		"					return 3;\n" + 
10196
		"				case 3197 :\n" + 
10197
		"					return 3;\n" + 
10198
		"				case 3198 :\n" + 
10199
		"					return 3;\n" + 
10200
		"				case 3199 :\n" + 
10201
		"					return 3;\n" + 
10202
		"				case 3200 :\n" + 
10203
		"					return 3;\n" + 
10204
		"				case 3201 :\n" + 
10205
		"					return 3;\n" + 
10206
		"				case 3202 :\n" + 
10207
		"					return 3;\n" + 
10208
		"				case 3203 :\n" + 
10209
		"					return 3;\n" + 
10210
		"				case 3204 :\n" + 
10211
		"					return 3;\n" + 
10212
		"				case 3205 :\n" + 
10213
		"					return 3;\n" + 
10214
		"				case 3206 :\n" + 
10215
		"					return 3;\n" + 
10216
		"				case 3207 :\n" + 
10217
		"					return 3;\n" + 
10218
		"				case 3208 :\n" + 
10219
		"					return 3;\n" + 
10220
		"				case 3209 :\n" + 
10221
		"					return 3;\n" + 
10222
		"				case 3210 :\n" + 
10223
		"					return 3;\n" + 
10224
		"				case 3211 :\n" + 
10225
		"					return 3;\n" + 
10226
		"				case 3212 :\n" + 
10227
		"					return 3;\n" + 
10228
		"				case 3213 :\n" + 
10229
		"					return 3;\n" + 
10230
		"				case 3214 :\n" + 
10231
		"					return 3;\n" + 
10232
		"				case 3215 :\n" + 
10233
		"					return 3;\n" + 
10234
		"				case 3216 :\n" + 
10235
		"					return 3;\n" + 
10236
		"				case 3217 :\n" + 
10237
		"					return 3;\n" + 
10238
		"				case 3218 :\n" + 
10239
		"					return 3;\n" + 
10240
		"				case 3219 :\n" + 
10241
		"					return 3;\n" + 
10242
		"				case 3220 :\n" + 
10243
		"					return 3;\n" + 
10244
		"				case 3221 :\n" + 
10245
		"					return 3;\n" + 
10246
		"				case 3222 :\n" + 
10247
		"					return 3;\n" + 
10248
		"				case 3223 :\n" + 
10249
		"					return 3;\n" + 
10250
		"				case 3224 :\n" + 
10251
		"					return 3;\n" + 
10252
		"				case 3225 :\n" + 
10253
		"					return 3;\n" + 
10254
		"				case 3226 :\n" + 
10255
		"					return 3;\n" + 
10256
		"				case 3227 :\n" + 
10257
		"					return 3;\n" + 
10258
		"				case 3228 :\n" + 
10259
		"					return 3;\n" + 
10260
		"				case 3229 :\n" + 
10261
		"					return 3;\n" + 
10262
		"				case 3230 :\n" + 
10263
		"					return 3;\n" + 
10264
		"				case 3231 :\n" + 
10265
		"					return 3;\n" + 
10266
		"				case 3232 :\n" + 
10267
		"					return 3;\n" + 
10268
		"				case 3233 :\n" + 
10269
		"					return 3;\n" + 
10270
		"				case 3234 :\n" + 
10271
		"					return 3;\n" + 
10272
		"				case 3235 :\n" + 
10273
		"					return 3;\n" + 
10274
		"				case 3236 :\n" + 
10275
		"					return 3;\n" + 
10276
		"				case 3237 :\n" + 
10277
		"					return 3;\n" + 
10278
		"				case 3238 :\n" + 
10279
		"					return 3;\n" + 
10280
		"				case 3239 :\n" + 
10281
		"					return 3;\n" + 
10282
		"				case 3240 :\n" + 
10283
		"					return 3;\n" + 
10284
		"				case 3241 :\n" + 
10285
		"					return 3;\n" + 
10286
		"				case 3242 :\n" + 
10287
		"					return 3;\n" + 
10288
		"				case 3243 :\n" + 
10289
		"					return 3;\n" + 
10290
		"				case 3244 :\n" + 
10291
		"					return 3;\n" + 
10292
		"				case 3245 :\n" + 
10293
		"					return 3;\n" + 
10294
		"				case 3246 :\n" + 
10295
		"					return 3;\n" + 
10296
		"				case 3247 :\n" + 
10297
		"					return 3;\n" + 
10298
		"				case 3248 :\n" + 
10299
		"					return 3;\n" + 
10300
		"				case 3249 :\n" + 
10301
		"					return 3;\n" + 
10302
		"				case 3250 :\n" + 
10303
		"					return 3;\n" + 
10304
		"				case 3251 :\n" + 
10305
		"					return 3;\n" + 
10306
		"				case 3252 :\n" + 
10307
		"					return 3;\n" + 
10308
		"				case 3253 :\n" + 
10309
		"					return 3;\n" + 
10310
		"				case 3254 :\n" + 
10311
		"					return 3;\n" + 
10312
		"				case 3255 :\n" + 
10313
		"					return 3;\n" + 
10314
		"				case 3256 :\n" + 
10315
		"					return 3;\n" + 
10316
		"				case 3257 :\n" + 
10317
		"					return 3;\n" + 
10318
		"				case 3258 :\n" + 
10319
		"					return 3;\n" + 
10320
		"				case 3259 :\n" + 
10321
		"					return 3;\n" + 
10322
		"				case 3260 :\n" + 
10323
		"					return 3;\n" + 
10324
		"				case 3261 :\n" + 
10325
		"					return 3;\n" + 
10326
		"				case 3262 :\n" + 
10327
		"					return 3;\n" + 
10328
		"				case 3263 :\n" + 
10329
		"					return 3;\n" + 
10330
		"				case 3264 :\n" + 
10331
		"					return 3;\n" + 
10332
		"				case 3265 :\n" + 
10333
		"					return 3;\n" + 
10334
		"				case 3266 :\n" + 
10335
		"					return 3;\n" + 
10336
		"				case 3267 :\n" + 
10337
		"					return 3;\n" + 
10338
		"				case 3268 :\n" + 
10339
		"					return 3;\n" + 
10340
		"				case 3269 :\n" + 
10341
		"					return 3;\n" + 
10342
		"				case 3270 :\n" + 
10343
		"					return 3;\n" + 
10344
		"				case 3271 :\n" + 
10345
		"					return 3;\n" + 
10346
		"				case 3272 :\n" + 
10347
		"					return 3;\n" + 
10348
		"				case 3273 :\n" + 
10349
		"					return 3;\n" + 
10350
		"				case 3274 :\n" + 
10351
		"					return 3;\n" + 
10352
		"				case 3275 :\n" + 
10353
		"					return 3;\n" + 
10354
		"				case 3276 :\n" + 
10355
		"					return 3;\n" + 
10356
		"				case 3277 :\n" + 
10357
		"					return 3;\n" + 
10358
		"				case 3278 :\n" + 
10359
		"					return 3;\n" + 
10360
		"				case 3279 :\n" + 
10361
		"					return 3;\n" + 
10362
		"				case 3280 :\n" + 
10363
		"					return 3;\n" + 
10364
		"				case 3281 :\n" + 
10365
		"					return 3;\n" + 
10366
		"				case 3282 :\n" + 
10367
		"					return 3;\n" + 
10368
		"				case 3283 :\n" + 
10369
		"					return 3;\n" + 
10370
		"				case 3284 :\n" + 
10371
		"					return 3;\n" + 
10372
		"				case 3285 :\n" + 
10373
		"					return 3;\n" + 
10374
		"				case 3286 :\n" + 
10375
		"					return 3;\n" + 
10376
		"				case 3287 :\n" + 
10377
		"					return 3;\n" + 
10378
		"				case 3288 :\n" + 
10379
		"					return 3;\n" + 
10380
		"				case 3289 :\n" + 
10381
		"					return 3;\n" + 
10382
		"				case 3290 :\n" + 
10383
		"					return 3;\n" + 
10384
		"				case 3291 :\n" + 
10385
		"					return 3;\n" + 
10386
		"				case 3292 :\n" + 
10387
		"					return 3;\n" + 
10388
		"				case 3293 :\n" + 
10389
		"					return 3;\n" + 
10390
		"				case 3294 :\n" + 
10391
		"					return 3;\n" + 
10392
		"				case 3295 :\n" + 
10393
		"					return 3;\n" + 
10394
		"				case 3296 :\n" + 
10395
		"					return 3;\n" + 
10396
		"				case 3297 :\n" + 
10397
		"					return 3;\n" + 
10398
		"				case 3298 :\n" + 
10399
		"					return 3;\n" + 
10400
		"				case 3299 :\n" + 
10401
		"					return 3;\n" + 
10402
		"				case 3300 :\n" + 
10403
		"					return 3;\n" + 
10404
		"				case 3301 :\n" + 
10405
		"					return 3;\n" + 
10406
		"				case 3302 :\n" + 
10407
		"					return 3;\n" + 
10408
		"				case 3303 :\n" + 
10409
		"					return 3;\n" + 
10410
		"				case 3304 :\n" + 
10411
		"					return 3;\n" + 
10412
		"				case 3305 :\n" + 
10413
		"					return 3;\n" + 
10414
		"				case 3306 :\n" + 
10415
		"					return 3;\n" + 
10416
		"				case 3307 :\n" + 
10417
		"					return 3;\n" + 
10418
		"				case 3308 :\n" + 
10419
		"					return 3;\n" + 
10420
		"				case 3309 :\n" + 
10421
		"					return 3;\n" + 
10422
		"				case 3310 :\n" + 
10423
		"					return 3;\n" + 
10424
		"				case 3311 :\n" + 
10425
		"					return 3;\n" + 
10426
		"				case 3312 :\n" + 
10427
		"					return 3;\n" + 
10428
		"				case 3313 :\n" + 
10429
		"					return 3;\n" + 
10430
		"				case 3314 :\n" + 
10431
		"					return 3;\n" + 
10432
		"				case 3315 :\n" + 
10433
		"					return 3;\n" + 
10434
		"				case 3316 :\n" + 
10435
		"					return 3;\n" + 
10436
		"				case 3317 :\n" + 
10437
		"					return 3;\n" + 
10438
		"				case 3318 :\n" + 
10439
		"					return 3;\n" + 
10440
		"				case 3319 :\n" + 
10441
		"					return 3;\n" + 
10442
		"				case 3320 :\n" + 
10443
		"					return 3;\n" + 
10444
		"				case 3321 :\n" + 
10445
		"					return 3;\n" + 
10446
		"				case 3322 :\n" + 
10447
		"					return 3;\n" + 
10448
		"				case 3323 :\n" + 
10449
		"					return 3;\n" + 
10450
		"				case 3324 :\n" + 
10451
		"					return 3;\n" + 
10452
		"				case 3325 :\n" + 
10453
		"					return 3;\n" + 
10454
		"				case 3326 :\n" + 
10455
		"					return 3;\n" + 
10456
		"				case 3327 :\n" + 
10457
		"					return 3;\n" + 
10458
		"				case 3328 :\n" + 
10459
		"					return 3;\n" + 
10460
		"				case 3329 :\n" + 
10461
		"					return 3;\n" + 
10462
		"				case 3330 :\n" + 
10463
		"					return 3;\n" + 
10464
		"				case 3331 :\n" + 
10465
		"					return 3;\n" + 
10466
		"				case 3332 :\n" + 
10467
		"					return 3;\n" + 
10468
		"				case 3333 :\n" + 
10469
		"					return 3;\n" + 
10470
		"				case 3334 :\n" + 
10471
		"					return 3;\n" + 
10472
		"				case 3335 :\n" + 
10473
		"					return 3;\n" + 
10474
		"				case 3336 :\n" + 
10475
		"					return 3;\n" + 
10476
		"				case 3337 :\n" + 
10477
		"					return 3;\n" + 
10478
		"				case 3338 :\n" + 
10479
		"					return 3;\n" + 
10480
		"				case 3339 :\n" + 
10481
		"					return 3;\n" + 
10482
		"				case 3340 :\n" + 
10483
		"					return 3;\n" + 
10484
		"				case 3341 :\n" + 
10485
		"					return 3;\n" + 
10486
		"				case 3342 :\n" + 
10487
		"					return 3;\n" + 
10488
		"				case 3343 :\n" + 
10489
		"					return 3;\n" + 
10490
		"				case 3344 :\n" + 
10491
		"					return 3;\n" + 
10492
		"				case 3345 :\n" + 
10493
		"					return 3;\n" + 
10494
		"				case 3346 :\n" + 
10495
		"					return 3;\n" + 
10496
		"				case 3347 :\n" + 
10497
		"					return 3;\n" + 
10498
		"				case 3348 :\n" + 
10499
		"					return 3;\n" + 
10500
		"				case 3349 :\n" + 
10501
		"					return 3;\n" + 
10502
		"				case 3350 :\n" + 
10503
		"					return 3;\n" + 
10504
		"				case 3351 :\n" + 
10505
		"					return 3;\n" + 
10506
		"				case 3352 :\n" + 
10507
		"					return 3;\n" + 
10508
		"				case 3353 :\n" + 
10509
		"					return 3;\n" + 
10510
		"				case 3354 :\n" + 
10511
		"					return 3;\n" + 
10512
		"				case 3355 :\n" + 
10513
		"					return 3;\n" + 
10514
		"				case 3356 :\n" + 
10515
		"					return 3;\n" + 
10516
		"				case 3357 :\n" + 
10517
		"					return 3;\n" + 
10518
		"				case 3358 :\n" + 
10519
		"					return 3;\n" + 
10520
		"				case 3359 :\n" + 
10521
		"					return 3;\n" + 
10522
		"				case 3360 :\n" + 
10523
		"					return 3;\n" + 
10524
		"				case 3361 :\n" + 
10525
		"					return 3;\n" + 
10526
		"				case 3362 :\n" + 
10527
		"					return 3;\n" + 
10528
		"				case 3363 :\n" + 
10529
		"					return 3;\n" + 
10530
		"				case 3364 :\n" + 
10531
		"					return 3;\n" + 
10532
		"				case 3365 :\n" + 
10533
		"					return 3;\n" + 
10534
		"				case 3366 :\n" + 
10535
		"					return 3;\n" + 
10536
		"				case 3367 :\n" + 
10537
		"					return 3;\n" + 
10538
		"				case 3368 :\n" + 
10539
		"					return 3;\n" + 
10540
		"				case 3369 :\n" + 
10541
		"					return 3;\n" + 
10542
		"				case 3370 :\n" + 
10543
		"					return 3;\n" + 
10544
		"				case 3371 :\n" + 
10545
		"					return 3;\n" + 
10546
		"				case 3372 :\n" + 
10547
		"					return 3;\n" + 
10548
		"				case 3373 :\n" + 
10549
		"					return 3;\n" + 
10550
		"				case 3374 :\n" + 
10551
		"					return 3;\n" + 
10552
		"				case 3375 :\n" + 
10553
		"					return 3;\n" + 
10554
		"				case 3376 :\n" + 
10555
		"					return 3;\n" + 
10556
		"				case 3377 :\n" + 
10557
		"					return 3;\n" + 
10558
		"				case 3378 :\n" + 
10559
		"					return 3;\n" + 
10560
		"				case 3379 :\n" + 
10561
		"					return 3;\n" + 
10562
		"				case 3380 :\n" + 
10563
		"					return 3;\n" + 
10564
		"				case 3381 :\n" + 
10565
		"					return 3;\n" + 
10566
		"				case 3382 :\n" + 
10567
		"					return 3;\n" + 
10568
		"				case 3383 :\n" + 
10569
		"					return 3;\n" + 
10570
		"				case 3384 :\n" + 
10571
		"					return 3;\n" + 
10572
		"				case 3385 :\n" + 
10573
		"					return 3;\n" + 
10574
		"				case 3386 :\n" + 
10575
		"					return 3;\n" + 
10576
		"				case 3387 :\n" + 
10577
		"					return 3;\n" + 
10578
		"				case 3388 :\n" + 
10579
		"					return 3;\n" + 
10580
		"				case 3389 :\n" + 
10581
		"					return 3;\n" + 
10582
		"				case 3390 :\n" + 
10583
		"					return 3;\n" + 
10584
		"				case 3391 :\n" + 
10585
		"					return 3;\n" + 
10586
		"				case 3392 :\n" + 
10587
		"					return 3;\n" + 
10588
		"				case 3393 :\n" + 
10589
		"					return 3;\n" + 
10590
		"				case 3394 :\n" + 
10591
		"					return 3;\n" + 
10592
		"				case 3395 :\n" + 
10593
		"					return 3;\n" + 
10594
		"				case 3396 :\n" + 
10595
		"					return 3;\n" + 
10596
		"				case 3397 :\n" + 
10597
		"					return 3;\n" + 
10598
		"				case 3398 :\n" + 
10599
		"					return 3;\n" + 
10600
		"				case 3399 :\n" + 
10601
		"					return 3;\n" + 
10602
		"				case 3400 :\n" + 
10603
		"					return 3;\n" + 
10604
		"				case 3401 :\n" + 
10605
		"					return 3;\n" + 
10606
		"				case 3402 :\n" + 
10607
		"					return 3;\n" + 
10608
		"				case 3403 :\n" + 
10609
		"					return 3;\n" + 
10610
		"				case 3404 :\n" + 
10611
		"					return 3;\n" + 
10612
		"				case 3405 :\n" + 
10613
		"					return 3;\n" + 
10614
		"				case 3406 :\n" + 
10615
		"					return 3;\n" + 
10616
		"				case 3407 :\n" + 
10617
		"					return 3;\n" + 
10618
		"				case 3408 :\n" + 
10619
		"					return 3;\n" + 
10620
		"				case 3409 :\n" + 
10621
		"					return 3;\n" + 
10622
		"				case 3410 :\n" + 
10623
		"					return 3;\n" + 
10624
		"				case 3411 :\n" + 
10625
		"					return 3;\n" + 
10626
		"				case 3412 :\n" + 
10627
		"					return 3;\n" + 
10628
		"				case 3413 :\n" + 
10629
		"					return 3;\n" + 
10630
		"				case 3414 :\n" + 
10631
		"					return 3;\n" + 
10632
		"				case 3415 :\n" + 
10633
		"					return 3;\n" + 
10634
		"				case 3416 :\n" + 
10635
		"					return 3;\n" + 
10636
		"				case 3417 :\n" + 
10637
		"					return 3;\n" + 
10638
		"				case 3418 :\n" + 
10639
		"					return 3;\n" + 
10640
		"				case 3419 :\n" + 
10641
		"					return 3;\n" + 
10642
		"				case 3420 :\n" + 
10643
		"					return 3;\n" + 
10644
		"				case 3421 :\n" + 
10645
		"					return 3;\n" + 
10646
		"				case 3422 :\n" + 
10647
		"					return 3;\n" + 
10648
		"				case 3423 :\n" + 
10649
		"					return 3;\n" + 
10650
		"				case 3424 :\n" + 
10651
		"					return 3;\n" + 
10652
		"				case 3425 :\n" + 
10653
		"					return 3;\n" + 
10654
		"				case 3426 :\n" + 
10655
		"					return 3;\n" + 
10656
		"				case 3427 :\n" + 
10657
		"					return 3;\n" + 
10658
		"				case 3428 :\n" + 
10659
		"					return 3;\n" + 
10660
		"				case 3429 :\n" + 
10661
		"					return 3;\n" + 
10662
		"				case 3430 :\n" + 
10663
		"					return 3;\n" + 
10664
		"				case 3431 :\n" + 
10665
		"					return 3;\n" + 
10666
		"				case 3432 :\n" + 
10667
		"					return 3;\n" + 
10668
		"				case 3433 :\n" + 
10669
		"					return 3;\n" + 
10670
		"				case 3434 :\n" + 
10671
		"					return 3;\n" + 
10672
		"				case 3435 :\n" + 
10673
		"					return 3;\n" + 
10674
		"				case 3436 :\n" + 
10675
		"					return 3;\n" + 
10676
		"				case 3437 :\n" + 
10677
		"					return 3;\n" + 
10678
		"				case 3438 :\n" + 
10679
		"					return 3;\n" + 
10680
		"				case 3439 :\n" + 
10681
		"					return 3;\n" + 
10682
		"				case 3440 :\n" + 
10683
		"					return 3;\n" + 
10684
		"				case 3441 :\n" + 
10685
		"					return 3;\n" + 
10686
		"				case 3442 :\n" + 
10687
		"					return 3;\n" + 
10688
		"				case 3443 :\n" + 
10689
		"					return 3;\n" + 
10690
		"				case 3444 :\n" + 
10691
		"					return 3;\n" + 
10692
		"				case 3445 :\n" + 
10693
		"					return 3;\n" + 
10694
		"				case 3446 :\n" + 
10695
		"					return 3;\n" + 
10696
		"				case 3447 :\n" + 
10697
		"					return 3;\n" + 
10698
		"				case 3448 :\n" + 
10699
		"					return 3;\n" + 
10700
		"				case 3449 :\n" + 
10701
		"					return 3;\n" + 
10702
		"				case 3450 :\n" + 
10703
		"					return 3;\n" + 
10704
		"				case 3451 :\n" + 
10705
		"					return 3;\n" + 
10706
		"				case 3452 :\n" + 
10707
		"					return 3;\n" + 
10708
		"				case 3453 :\n" + 
10709
		"					return 3;\n" + 
10710
		"				case 3454 :\n" + 
10711
		"					return 3;\n" + 
10712
		"				case 3455 :\n" + 
10713
		"					return 3;\n" + 
10714
		"				case 3456 :\n" + 
10715
		"					return 3;\n" + 
10716
		"				case 3457 :\n" + 
10717
		"					return 3;\n" + 
10718
		"				case 3458 :\n" + 
10719
		"					return 3;\n" + 
10720
		"				case 3459 :\n" + 
10721
		"					return 3;\n" + 
10722
		"				case 3460 :\n" + 
10723
		"					return 3;\n" + 
10724
		"				case 3461 :\n" + 
10725
		"					return 3;\n" + 
10726
		"				case 3462 :\n" + 
10727
		"					return 3;\n" + 
10728
		"				case 3463 :\n" + 
10729
		"					return 3;\n" + 
10730
		"				case 3464 :\n" + 
10731
		"					return 3;\n" + 
10732
		"				case 3465 :\n" + 
10733
		"					return 3;\n" + 
10734
		"				case 3466 :\n" + 
10735
		"					return 3;\n" + 
10736
		"				case 3467 :\n" + 
10737
		"					return 3;\n" + 
10738
		"				case 3468 :\n" + 
10739
		"					return 3;\n" + 
10740
		"				case 3469 :\n" + 
10741
		"					return 3;\n" + 
10742
		"				case 3470 :\n" + 
10743
		"					return 3;\n" + 
10744
		"				case 3471 :\n" + 
10745
		"					return 3;\n" + 
10746
		"				case 3472 :\n" + 
10747
		"					return 3;\n" + 
10748
		"				case 3473 :\n" + 
10749
		"					return 3;\n" + 
10750
		"				case 3474 :\n" + 
10751
		"					return 3;\n" + 
10752
		"				case 3475 :\n" + 
10753
		"					return 3;\n" + 
10754
		"				case 3476 :\n" + 
10755
		"					return 3;\n" + 
10756
		"				case 3477 :\n" + 
10757
		"					return 3;\n" + 
10758
		"				case 3478 :\n" + 
10759
		"					return 3;\n" + 
10760
		"				case 3479 :\n" + 
10761
		"					return 3;\n" + 
10762
		"				case 3480 :\n" + 
10763
		"					return 3;\n" + 
10764
		"				case 3481 :\n" + 
10765
		"					return 3;\n" + 
10766
		"				case 3482 :\n" + 
10767
		"					return 3;\n" + 
10768
		"				case 3483 :\n" + 
10769
		"					return 3;\n" + 
10770
		"				case 3484 :\n" + 
10771
		"					return 3;\n" + 
10772
		"				case 3485 :\n" + 
10773
		"					return 3;\n" + 
10774
		"				case 3486 :\n" + 
10775
		"					return 3;\n" + 
10776
		"				case 3487 :\n" + 
10777
		"					return 3;\n" + 
10778
		"				case 3488 :\n" + 
10779
		"					return 3;\n" + 
10780
		"				case 3489 :\n" + 
10781
		"					return 3;\n" + 
10782
		"				case 3490 :\n" + 
10783
		"					return 3;\n" + 
10784
		"				case 3491 :\n" + 
10785
		"					return 3;\n" + 
10786
		"				case 3492 :\n" + 
10787
		"					return 3;\n" + 
10788
		"				case 3493 :\n" + 
10789
		"					return 3;\n" + 
10790
		"				case 3494 :\n" + 
10791
		"					return 3;\n" + 
10792
		"				case 3495 :\n" + 
10793
		"					return 3;\n" + 
10794
		"				case 3496 :\n" + 
10795
		"					return 3;\n" + 
10796
		"				case 3497 :\n" + 
10797
		"					return 3;\n" + 
10798
		"				case 3498 :\n" + 
10799
		"					return 3;\n" + 
10800
		"				case 3499 :\n" + 
10801
		"					return 3;\n" + 
10802
		"				case 3500 :\n" + 
10803
		"					return 3;\n" + 
10804
		"				case 3501 :\n" + 
10805
		"					return 3;\n" + 
10806
		"				case 3502 :\n" + 
10807
		"					return 3;\n" + 
10808
		"				case 3503 :\n" + 
10809
		"					return 3;\n" + 
10810
		"				case 3504 :\n" + 
10811
		"					return 3;\n" + 
10812
		"				case 3505 :\n" + 
10813
		"					return 3;\n" + 
10814
		"				case 3506 :\n" + 
10815
		"					return 3;\n" + 
10816
		"				case 3507 :\n" + 
10817
		"					return 3;\n" + 
10818
		"				case 3508 :\n" + 
10819
		"					return 3;\n" + 
10820
		"				case 3509 :\n" + 
10821
		"					return 3;\n" + 
10822
		"				case 3510 :\n" + 
10823
		"					return 3;\n" + 
10824
		"				case 3511 :\n" + 
10825
		"					return 3;\n" + 
10826
		"				case 3512 :\n" + 
10827
		"					return 3;\n" + 
10828
		"				case 3513 :\n" + 
10829
		"					return 3;\n" + 
10830
		"				case 3514 :\n" + 
10831
		"					return 3;\n" + 
10832
		"				case 3515 :\n" + 
10833
		"					return 3;\n" + 
10834
		"				case 3516 :\n" + 
10835
		"					return 3;\n" + 
10836
		"				case 3517 :\n" + 
10837
		"					return 3;\n" + 
10838
		"				case 3518 :\n" + 
10839
		"					return 3;\n" + 
10840
		"				case 3519 :\n" + 
10841
		"					return 3;\n" + 
10842
		"				case 3520 :\n" + 
10843
		"					return 3;\n" + 
10844
		"				case 3521 :\n" + 
10845
		"					return 3;\n" + 
10846
		"				case 3522 :\n" + 
10847
		"					return 3;\n" + 
10848
		"				case 3523 :\n" + 
10849
		"					return 3;\n" + 
10850
		"				case 3524 :\n" + 
10851
		"					return 3;\n" + 
10852
		"				case 3525 :\n" + 
10853
		"					return 3;\n" + 
10854
		"				case 3526 :\n" + 
10855
		"					return 3;\n" + 
10856
		"				case 3527 :\n" + 
10857
		"					return 3;\n" + 
10858
		"				case 3528 :\n" + 
10859
		"					return 3;\n" + 
10860
		"				case 3529 :\n" + 
10861
		"					return 3;\n" + 
10862
		"				case 3530 :\n" + 
10863
		"					return 3;\n" + 
10864
		"				case 3531 :\n" + 
10865
		"					return 3;\n" + 
10866
		"				case 3532 :\n" + 
10867
		"					return 3;\n" + 
10868
		"				case 3533 :\n" + 
10869
		"					return 3;\n" + 
10870
		"				case 3534 :\n" + 
10871
		"					return 3;\n" + 
10872
		"				case 3535 :\n" + 
10873
		"					return 3;\n" + 
10874
		"				case 3536 :\n" + 
10875
		"					return 3;\n" + 
10876
		"				case 3537 :\n" + 
10877
		"					return 3;\n" + 
10878
		"				case 3538 :\n" + 
10879
		"					return 3;\n" + 
10880
		"				case 3539 :\n" + 
10881
		"					return 3;\n" + 
10882
		"				case 3540 :\n" + 
10883
		"					return 3;\n" + 
10884
		"				case 3541 :\n" + 
10885
		"					return 3;\n" + 
10886
		"				case 3542 :\n" + 
10887
		"					return 3;\n" + 
10888
		"				case 3543 :\n" + 
10889
		"					return 3;\n" + 
10890
		"				case 3544 :\n" + 
10891
		"					return 3;\n" + 
10892
		"				case 3545 :\n" + 
10893
		"					return 3;\n" + 
10894
		"				case 3546 :\n" + 
10895
		"					return 3;\n" + 
10896
		"				case 3547 :\n" + 
10897
		"					return 3;\n" + 
10898
		"				case 3548 :\n" + 
10899
		"					return 3;\n" + 
10900
		"				case 3549 :\n" + 
10901
		"					return 3;\n" + 
10902
		"				case 3550 :\n" + 
10903
		"					return 3;\n" + 
10904
		"				case 3551 :\n" + 
10905
		"					return 3;\n" + 
10906
		"				case 3552 :\n" + 
10907
		"					return 3;\n" + 
10908
		"				case 3553 :\n" + 
10909
		"					return 3;\n" + 
10910
		"				case 3554 :\n" + 
10911
		"					return 3;\n" + 
10912
		"				case 3555 :\n" + 
10913
		"					return 3;\n" + 
10914
		"				case 3556 :\n" + 
10915
		"					return 3;\n" + 
10916
		"				case 3557 :\n" + 
10917
		"					return 3;\n" + 
10918
		"				case 3558 :\n" + 
10919
		"					return 3;\n" + 
10920
		"				case 3559 :\n" + 
10921
		"					return 3;\n" + 
10922
		"				case 3560 :\n" + 
10923
		"					return 3;\n" + 
10924
		"				case 3561 :\n" + 
10925
		"					return 3;\n" + 
10926
		"				case 3562 :\n" + 
10927
		"					return 3;\n" + 
10928
		"				case 3563 :\n" + 
10929
		"					return 3;\n" + 
10930
		"				case 3564 :\n" + 
10931
		"					return 3;\n" + 
10932
		"				case 3565 :\n" + 
10933
		"					return 3;\n" + 
10934
		"				case 3566 :\n" + 
10935
		"					return 3;\n" + 
10936
		"				case 3567 :\n" + 
10937
		"					return 3;\n" + 
10938
		"				case 3568 :\n" + 
10939
		"					return 3;\n" + 
10940
		"				case 3569 :\n" + 
10941
		"					return 3;\n" + 
10942
		"				case 3570 :\n" + 
10943
		"					return 3;\n" + 
10944
		"				case 3571 :\n" + 
10945
		"					return 3;\n" + 
10946
		"				case 3572 :\n" + 
10947
		"					return 3;\n" + 
10948
		"				case 3573 :\n" + 
10949
		"					return 3;\n" + 
10950
		"				case 3574 :\n" + 
10951
		"					return 3;\n" + 
10952
		"				case 3575 :\n" + 
10953
		"					return 3;\n" + 
10954
		"				case 3576 :\n" + 
10955
		"					return 3;\n" + 
10956
		"				case 3577 :\n" + 
10957
		"					return 3;\n" + 
10958
		"				case 3578 :\n" + 
10959
		"					return 3;\n" + 
10960
		"				case 3579 :\n" + 
10961
		"					return 3;\n" + 
10962
		"				case 3580 :\n" + 
10963
		"					return 3;\n" + 
10964
		"				case 3581 :\n" + 
10965
		"					return 3;\n" + 
10966
		"				case 3582 :\n" + 
10967
		"					return 3;\n" + 
10968
		"				case 3583 :\n" + 
10969
		"					return 3;\n" + 
10970
		"				case 3584 :\n" + 
10971
		"					return 3;\n" + 
10972
		"				case 3585 :\n" + 
10973
		"					return 3;\n" + 
10974
		"				case 3586 :\n" + 
10975
		"					return 3;\n" + 
10976
		"				case 3587 :\n" + 
10977
		"					return 3;\n" + 
10978
		"				case 3588 :\n" + 
10979
		"					return 3;\n" + 
10980
		"				case 3589 :\n" + 
10981
		"					return 3;\n" + 
10982
		"				case 3590 :\n" + 
10983
		"					return 3;\n" + 
10984
		"				case 3591 :\n" + 
10985
		"					return 3;\n" + 
10986
		"				case 3592 :\n" + 
10987
		"					return 3;\n" + 
10988
		"				case 3593 :\n" + 
10989
		"					return 3;\n" + 
10990
		"				case 3594 :\n" + 
10991
		"					return 3;\n" + 
10992
		"				case 3595 :\n" + 
10993
		"					return 3;\n" + 
10994
		"				case 3596 :\n" + 
10995
		"					return 3;\n" + 
10996
		"				case 3597 :\n" + 
10997
		"					return 3;\n" + 
10998
		"				case 3598 :\n" + 
10999
		"					return 3;\n" + 
11000
		"				case 3599 :\n" + 
11001
		"					return 3;\n" + 
11002
		"				case 3600 :\n" + 
11003
		"					return 3;\n" + 
11004
		"				case 3601 :\n" + 
11005
		"					return 3;\n" + 
11006
		"				case 3602 :\n" + 
11007
		"					return 3;\n" + 
11008
		"				case 3603 :\n" + 
11009
		"					return 3;\n" + 
11010
		"				case 3604 :\n" + 
11011
		"					return 3;\n" + 
11012
		"				case 3605 :\n" + 
11013
		"					return 3;\n" + 
11014
		"				case 3606 :\n" + 
11015
		"					return 3;\n" + 
11016
		"				case 3607 :\n" + 
11017
		"					return 3;\n" + 
11018
		"				case 3608 :\n" + 
11019
		"					return 3;\n" + 
11020
		"				case 3609 :\n" + 
11021
		"					return 3;\n" + 
11022
		"				case 3610 :\n" + 
11023
		"					return 3;\n" + 
11024
		"				case 3611 :\n" + 
11025
		"					return 3;\n" + 
11026
		"				case 3612 :\n" + 
11027
		"					return 3;\n" + 
11028
		"				case 3613 :\n" + 
11029
		"					return 3;\n" + 
11030
		"				case 3614 :\n" + 
11031
		"					return 3;\n" + 
11032
		"				case 3615 :\n" + 
11033
		"					return 3;\n" + 
11034
		"				case 3616 :\n" + 
11035
		"					return 3;\n" + 
11036
		"				case 3617 :\n" + 
11037
		"					return 3;\n" + 
11038
		"				case 3618 :\n" + 
11039
		"					return 3;\n" + 
11040
		"				case 3619 :\n" + 
11041
		"					return 3;\n" + 
11042
		"				case 3620 :\n" + 
11043
		"					return 3;\n" + 
11044
		"				case 3621 :\n" + 
11045
		"					return 3;\n" + 
11046
		"				case 3622 :\n" + 
11047
		"					return 3;\n" + 
11048
		"				case 3623 :\n" + 
11049
		"					return 3;\n" + 
11050
		"				case 3624 :\n" + 
11051
		"					return 3;\n" + 
11052
		"				case 3625 :\n" + 
11053
		"					return 3;\n" + 
11054
		"				case 3626 :\n" + 
11055
		"					return 3;\n" + 
11056
		"				case 3627 :\n" + 
11057
		"					return 3;\n" + 
11058
		"				case 3628 :\n" + 
11059
		"					return 3;\n" + 
11060
		"				case 3629 :\n" + 
11061
		"					return 3;\n" + 
11062
		"				case 3630 :\n" + 
11063
		"					return 3;\n" + 
11064
		"				case 3631 :\n" + 
11065
		"					return 3;\n" + 
11066
		"				case 3632 :\n" + 
11067
		"					return 3;\n" + 
11068
		"				case 3633 :\n" + 
11069
		"					return 3;\n" + 
11070
		"				case 3634 :\n" + 
11071
		"					return 3;\n" + 
11072
		"				case 3635 :\n" + 
11073
		"					return 3;\n" + 
11074
		"				case 3636 :\n" + 
11075
		"					return 3;\n" + 
11076
		"				case 3637 :\n" + 
11077
		"					return 3;\n" + 
11078
		"				case 3638 :\n" + 
11079
		"					return 3;\n" + 
11080
		"				case 3639 :\n" + 
11081
		"					return 3;\n" + 
11082
		"				case 3640 :\n" + 
11083
		"					return 3;\n" + 
11084
		"				case 3641 :\n" + 
11085
		"					return 3;\n" + 
11086
		"				case 3642 :\n" + 
11087
		"					return 3;\n" + 
11088
		"				case 3643 :\n" + 
11089
		"					return 3;\n" + 
11090
		"				case 3644 :\n" + 
11091
		"					return 3;\n" + 
11092
		"				case 3645 :\n" + 
11093
		"					return 3;\n" + 
11094
		"				case 3646 :\n" + 
11095
		"					return 3;\n" + 
11096
		"				case 3647 :\n" + 
11097
		"					return 3;\n" + 
11098
		"				case 3648 :\n" + 
11099
		"					return 3;\n" + 
11100
		"				case 3649 :\n" + 
11101
		"					return 3;\n" + 
11102
		"				case 3650 :\n" + 
11103
		"					return 3;\n" + 
11104
		"				case 3651 :\n" + 
11105
		"					return 3;\n" + 
11106
		"				case 3652 :\n" + 
11107
		"					return 3;\n" + 
11108
		"				case 3653 :\n" + 
11109
		"					return 3;\n" + 
11110
		"				case 3654 :\n" + 
11111
		"					return 3;\n" + 
11112
		"				case 3655 :\n" + 
11113
		"					return 3;\n" + 
11114
		"				case 3656 :\n" + 
11115
		"					return 3;\n" + 
11116
		"				case 3657 :\n" + 
11117
		"					return 3;\n" + 
11118
		"				case 3658 :\n" + 
11119
		"					return 3;\n" + 
11120
		"				case 3659 :\n" + 
11121
		"					return 3;\n" + 
11122
		"				case 3660 :\n" + 
11123
		"					return 3;\n" + 
11124
		"				case 3661 :\n" + 
11125
		"					return 3;\n" + 
11126
		"				case 3662 :\n" + 
11127
		"					return 3;\n" + 
11128
		"				case 3663 :\n" + 
11129
		"					return 3;\n" + 
11130
		"				case 3664 :\n" + 
11131
		"					return 3;\n" + 
11132
		"				case 3665 :\n" + 
11133
		"					return 3;\n" + 
11134
		"				case 3666 :\n" + 
11135
		"					return 3;\n" + 
11136
		"				case 3667 :\n" + 
11137
		"					return 3;\n" + 
11138
		"				case 3668 :\n" + 
11139
		"					return 3;\n" + 
11140
		"				case 3669 :\n" + 
11141
		"					return 3;\n" + 
11142
		"				case 3670 :\n" + 
11143
		"					return 3;\n" + 
11144
		"				case 3671 :\n" + 
11145
		"					return 3;\n" + 
11146
		"				case 3672 :\n" + 
11147
		"					return 3;\n" + 
11148
		"				case 3673 :\n" + 
11149
		"					return 3;\n" + 
11150
		"				case 3674 :\n" + 
11151
		"					return 3;\n" + 
11152
		"				case 3675 :\n" + 
11153
		"					return 3;\n" + 
11154
		"				case 3676 :\n" + 
11155
		"					return 3;\n" + 
11156
		"				case 3677 :\n" + 
11157
		"					return 3;\n" + 
11158
		"				case 3678 :\n" + 
11159
		"					return 3;\n" + 
11160
		"				case 3679 :\n" + 
11161
		"					return 3;\n" + 
11162
		"				case 3680 :\n" + 
11163
		"					return 3;\n" + 
11164
		"				case 3681 :\n" + 
11165
		"					return 3;\n" + 
11166
		"				case 3682 :\n" + 
11167
		"					return 3;\n" + 
11168
		"				case 3683 :\n" + 
11169
		"					return 3;\n" + 
11170
		"				case 3684 :\n" + 
11171
		"					return 3;\n" + 
11172
		"				case 3685 :\n" + 
11173
		"					return 3;\n" + 
11174
		"				case 3686 :\n" + 
11175
		"					return 3;\n" + 
11176
		"				case 3687 :\n" + 
11177
		"					return 3;\n" + 
11178
		"				case 3688 :\n" + 
11179
		"					return 3;\n" + 
11180
		"				case 3689 :\n" + 
11181
		"					return 3;\n" + 
11182
		"				case 3690 :\n" + 
11183
		"					return 3;\n" + 
11184
		"				case 3691 :\n" + 
11185
		"					return 3;\n" + 
11186
		"				case 3692 :\n" + 
11187
		"					return 3;\n" + 
11188
		"				case 3693 :\n" + 
11189
		"					return 3;\n" + 
11190
		"				case 3694 :\n" + 
11191
		"					return 3;\n" + 
11192
		"				case 3695 :\n" + 
11193
		"					return 3;\n" + 
11194
		"				case 3696 :\n" + 
11195
		"					return 3;\n" + 
11196
		"				case 3697 :\n" + 
11197
		"					return 3;\n" + 
11198
		"				case 3698 :\n" + 
11199
		"					return 3;\n" + 
11200
		"				case 3699 :\n" + 
11201
		"					return 3;\n" + 
11202
		"				case 3700 :\n" + 
11203
		"					return 3;\n" + 
11204
		"				case 3701 :\n" + 
11205
		"					return 3;\n" + 
11206
		"				case 3702 :\n" + 
11207
		"					return 3;\n" + 
11208
		"				case 3703 :\n" + 
11209
		"					return 3;\n" + 
11210
		"				case 3704 :\n" + 
11211
		"					return 3;\n" + 
11212
		"				case 3705 :\n" + 
11213
		"					return 3;\n" + 
11214
		"				case 3706 :\n" + 
11215
		"					return 3;\n" + 
11216
		"				case 3707 :\n" + 
11217
		"					return 3;\n" + 
11218
		"				case 3708 :\n" + 
11219
		"					return 3;\n" + 
11220
		"				case 3709 :\n" + 
11221
		"					return 3;\n" + 
11222
		"				case 3710 :\n" + 
11223
		"					return 3;\n" + 
11224
		"				case 3711 :\n" + 
11225
		"					return 3;\n" + 
11226
		"				case 3712 :\n" + 
11227
		"					return 3;\n" + 
11228
		"				case 3713 :\n" + 
11229
		"					return 3;\n" + 
11230
		"				case 3714 :\n" + 
11231
		"					return 3;\n" + 
11232
		"				case 3715 :\n" + 
11233
		"					return 3;\n" + 
11234
		"				case 3716 :\n" + 
11235
		"					return 3;\n" + 
11236
		"				case 3717 :\n" + 
11237
		"					return 3;\n" + 
11238
		"				case 3718 :\n" + 
11239
		"					return 3;\n" + 
11240
		"				case 3719 :\n" + 
11241
		"					return 3;\n" + 
11242
		"				case 3720 :\n" + 
11243
		"					return 3;\n" + 
11244
		"				case 3721 :\n" + 
11245
		"					return 3;\n" + 
11246
		"				case 3722 :\n" + 
11247
		"					return 3;\n" + 
11248
		"				case 3723 :\n" + 
11249
		"					return 3;\n" + 
11250
		"				case 3724 :\n" + 
11251
		"					return 3;\n" + 
11252
		"				case 3725 :\n" + 
11253
		"					return 3;\n" + 
11254
		"				case 3726 :\n" + 
11255
		"					return 3;\n" + 
11256
		"				case 3727 :\n" + 
11257
		"					return 3;\n" + 
11258
		"				case 3728 :\n" + 
11259
		"					return 3;\n" + 
11260
		"				case 3729 :\n" + 
11261
		"					return 3;\n" + 
11262
		"				case 3730 :\n" + 
11263
		"					return 3;\n" + 
11264
		"				case 3731 :\n" + 
11265
		"					return 3;\n" + 
11266
		"				case 3732 :\n" + 
11267
		"					return 3;\n" + 
11268
		"				case 3733 :\n" + 
11269
		"					return 3;\n" + 
11270
		"				case 3734 :\n" + 
11271
		"					return 3;\n" + 
11272
		"				case 3735 :\n" + 
11273
		"					return 3;\n" + 
11274
		"				case 3736 :\n" + 
11275
		"					return 3;\n" + 
11276
		"				case 3737 :\n" + 
11277
		"					return 3;\n" + 
11278
		"				case 3738 :\n" + 
11279
		"					return 3;\n" + 
11280
		"				case 3739 :\n" + 
11281
		"					return 3;\n" + 
11282
		"				case 3740 :\n" + 
11283
		"					return 3;\n" + 
11284
		"				case 3741 :\n" + 
11285
		"					return 3;\n" + 
11286
		"				case 3742 :\n" + 
11287
		"					return 3;\n" + 
11288
		"				case 3743 :\n" + 
11289
		"					return 3;\n" + 
11290
		"				case 3744 :\n" + 
11291
		"					return 3;\n" + 
11292
		"				case 3745 :\n" + 
11293
		"					return 3;\n" + 
11294
		"				case 3746 :\n" + 
11295
		"					return 3;\n" + 
11296
		"				case 3747 :\n" + 
11297
		"					return 3;\n" + 
11298
		"				case 3748 :\n" + 
11299
		"					return 3;\n" + 
11300
		"				case 3749 :\n" + 
11301
		"					return 3;\n" + 
11302
		"				case 3750 :\n" + 
11303
		"					return 3;\n" + 
11304
		"				case 3751 :\n" + 
11305
		"					return 3;\n" + 
11306
		"				case 3752 :\n" + 
11307
		"					return 3;\n" + 
11308
		"				case 3753 :\n" + 
11309
		"					return 3;\n" + 
11310
		"				case 3754 :\n" + 
11311
		"					return 3;\n" + 
11312
		"				case 3755 :\n" + 
11313
		"					return 3;\n" + 
11314
		"				case 3756 :\n" + 
11315
		"					return 3;\n" + 
11316
		"				case 3757 :\n" + 
11317
		"					return 3;\n" + 
11318
		"				case 3758 :\n" + 
11319
		"					return 3;\n" + 
11320
		"				case 3759 :\n" + 
11321
		"					return 3;\n" + 
11322
		"				case 3760 :\n" + 
11323
		"					return 3;\n" + 
11324
		"				case 3761 :\n" + 
11325
		"					return 3;\n" + 
11326
		"				case 3762 :\n" + 
11327
		"					return 3;\n" + 
11328
		"				case 3763 :\n" + 
11329
		"					return 3;\n" + 
11330
		"				case 3764 :\n" + 
11331
		"					return 3;\n" + 
11332
		"				case 3765 :\n" + 
11333
		"					return 3;\n" + 
11334
		"				case 3766 :\n" + 
11335
		"					return 3;\n" + 
11336
		"				case 3767 :\n" + 
11337
		"					return 3;\n" + 
11338
		"				case 3768 :\n" + 
11339
		"					return 3;\n" + 
11340
		"				case 3769 :\n" + 
11341
		"					return 3;\n" + 
11342
		"				case 3770 :\n" + 
11343
		"					return 3;\n" + 
11344
		"				case 3771 :\n" + 
11345
		"					return 3;\n" + 
11346
		"				case 3772 :\n" + 
11347
		"					return 3;\n" + 
11348
		"				case 3773 :\n" + 
11349
		"					return 3;\n" + 
11350
		"				case 3774 :\n" + 
11351
		"					return 3;\n" + 
11352
		"				case 3775 :\n" + 
11353
		"					return 3;\n" + 
11354
		"				case 3776 :\n" + 
11355
		"					return 3;\n" + 
11356
		"				case 3777 :\n" + 
11357
		"					return 3;\n" + 
11358
		"				case 3778 :\n" + 
11359
		"					return 3;\n" + 
11360
		"				case 3779 :\n" + 
11361
		"					return 3;\n" + 
11362
		"				case 3780 :\n" + 
11363
		"					return 3;\n" + 
11364
		"				case 3781 :\n" + 
11365
		"					return 3;\n" + 
11366
		"				case 3782 :\n" + 
11367
		"					return 3;\n" + 
11368
		"				case 3783 :\n" + 
11369
		"					return 3;\n" + 
11370
		"				case 3784 :\n" + 
11371
		"					return 3;\n" + 
11372
		"				case 3785 :\n" + 
11373
		"					return 3;\n" + 
11374
		"				case 3786 :\n" + 
11375
		"					return 3;\n" + 
11376
		"				case 3787 :\n" + 
11377
		"					return 3;\n" + 
11378
		"				case 3788 :\n" + 
11379
		"					return 3;\n" + 
11380
		"				case 3789 :\n" + 
11381
		"					return 3;\n" + 
11382
		"				case 3790 :\n" + 
11383
		"					return 3;\n" + 
11384
		"				case 3791 :\n" + 
11385
		"					return 3;\n" + 
11386
		"				case 3792 :\n" + 
11387
		"					return 3;\n" + 
11388
		"				case 3793 :\n" + 
11389
		"					return 3;\n" + 
11390
		"				case 3794 :\n" + 
11391
		"					return 3;\n" + 
11392
		"				case 3795 :\n" + 
11393
		"					return 3;\n" + 
11394
		"				case 3796 :\n" + 
11395
		"					return 3;\n" + 
11396
		"				case 3797 :\n" + 
11397
		"					return 3;\n" + 
11398
		"				case 3798 :\n" + 
11399
		"					return 3;\n" + 
11400
		"				case 3799 :\n" + 
11401
		"					return 3;\n" + 
11402
		"				case 3800 :\n" + 
11403
		"					return 3;\n" + 
11404
		"				case 3801 :\n" + 
11405
		"					return 3;\n" + 
11406
		"				case 3802 :\n" + 
11407
		"					return 3;\n" + 
11408
		"				case 3803 :\n" + 
11409
		"					return 3;\n" + 
11410
		"				case 3804 :\n" + 
11411
		"					return 3;\n" + 
11412
		"				case 3805 :\n" + 
11413
		"					return 3;\n" + 
11414
		"				case 3806 :\n" + 
11415
		"					return 3;\n" + 
11416
		"				case 3807 :\n" + 
11417
		"					return 3;\n" + 
11418
		"				case 3808 :\n" + 
11419
		"					return 3;\n" + 
11420
		"				case 3809 :\n" + 
11421
		"					return 3;\n" + 
11422
		"				case 3810 :\n" + 
11423
		"					return 3;\n" + 
11424
		"				case 3811 :\n" + 
11425
		"					return 3;\n" + 
11426
		"				case 3812 :\n" + 
11427
		"					return 3;\n" + 
11428
		"				case 3813 :\n" + 
11429
		"					return 3;\n" + 
11430
		"				case 3814 :\n" + 
11431
		"					return 3;\n" + 
11432
		"				case 3815 :\n" + 
11433
		"					return 3;\n" + 
11434
		"				case 3816 :\n" + 
11435
		"					return 3;\n" + 
11436
		"				case 3817 :\n" + 
11437
		"					return 3;\n" + 
11438
		"				case 3818 :\n" + 
11439
		"					return 3;\n" + 
11440
		"				case 3819 :\n" + 
11441
		"					return 3;\n" + 
11442
		"				case 3820 :\n" + 
11443
		"					return 3;\n" + 
11444
		"				case 3821 :\n" + 
11445
		"					return 3;\n" + 
11446
		"				case 3822 :\n" + 
11447
		"					return 3;\n" + 
11448
		"				case 3823 :\n" + 
11449
		"					return 3;\n" + 
11450
		"				case 3824 :\n" + 
11451
		"					return 3;\n" + 
11452
		"				case 3825 :\n" + 
11453
		"					return 3;\n" + 
11454
		"				case 3826 :\n" + 
11455
		"					return 3;\n" + 
11456
		"				case 3827 :\n" + 
11457
		"					return 3;\n" + 
11458
		"				case 3828 :\n" + 
11459
		"					return 3;\n" + 
11460
		"				case 3829 :\n" + 
11461
		"					return 3;\n" + 
11462
		"				case 3830 :\n" + 
11463
		"					return 3;\n" + 
11464
		"				case 3831 :\n" + 
11465
		"					return 3;\n" + 
11466
		"				case 3832 :\n" + 
11467
		"					return 3;\n" + 
11468
		"				case 3833 :\n" + 
11469
		"					return 3;\n" + 
11470
		"				case 3834 :\n" + 
11471
		"					return 3;\n" + 
11472
		"				case 3835 :\n" + 
11473
		"					return 3;\n" + 
11474
		"				case 3836 :\n" + 
11475
		"					return 3;\n" + 
11476
		"				case 3837 :\n" + 
11477
		"					return 3;\n" + 
11478
		"				case 3838 :\n" + 
11479
		"					return 3;\n" + 
11480
		"				case 3839 :\n" + 
11481
		"					return 3;\n" + 
11482
		"				case 3840 :\n" + 
11483
		"					return 3;\n" + 
11484
		"				case 3841 :\n" + 
11485
		"					return 3;\n" + 
11486
		"				case 3842 :\n" + 
11487
		"					return 3;\n" + 
11488
		"				case 3843 :\n" + 
11489
		"					return 3;\n" + 
11490
		"				case 3844 :\n" + 
11491
		"					return 3;\n" + 
11492
		"				case 3845 :\n" + 
11493
		"					return 3;\n" + 
11494
		"				case 3846 :\n" + 
11495
		"					return 3;\n" + 
11496
		"				case 3847 :\n" + 
11497
		"					return 3;\n" + 
11498
		"				case 3848 :\n" + 
11499
		"					return 3;\n" + 
11500
		"				case 3849 :\n" + 
11501
		"					return 3;\n" + 
11502
		"				case 3850 :\n" + 
11503
		"					return 3;\n" + 
11504
		"				case 3851 :\n" + 
11505
		"					return 3;\n" + 
11506
		"				case 3852 :\n" + 
11507
		"					return 3;\n" + 
11508
		"				case 3853 :\n" + 
11509
		"					return 3;\n" + 
11510
		"				case 3854 :\n" + 
11511
		"					return 3;\n" + 
11512
		"				case 3855 :\n" + 
11513
		"					return 3;\n" + 
11514
		"				case 3856 :\n" + 
11515
		"					return 3;\n" + 
11516
		"				case 3857 :\n" + 
11517
		"					return 3;\n" + 
11518
		"				case 3858 :\n" + 
11519
		"					return 3;\n" + 
11520
		"				case 3859 :\n" + 
11521
		"					return 3;\n" + 
11522
		"				case 3860 :\n" + 
11523
		"					return 3;\n" + 
11524
		"				case 3861 :\n" + 
11525
		"					return 3;\n" + 
11526
		"				case 3862 :\n" + 
11527
		"					return 3;\n" + 
11528
		"				case 3863 :\n" + 
11529
		"					return 3;\n" + 
11530
		"				case 3864 :\n" + 
11531
		"					return 3;\n" + 
11532
		"				case 3865 :\n" + 
11533
		"					return 3;\n" + 
11534
		"				case 3866 :\n" + 
11535
		"					return 3;\n" + 
11536
		"				case 3867 :\n" + 
11537
		"					return 3;\n" + 
11538
		"				case 3868 :\n" + 
11539
		"					return 3;\n" + 
11540
		"				case 3869 :\n" + 
11541
		"					return 3;\n" + 
11542
		"				case 3870 :\n" + 
11543
		"					return 3;\n" + 
11544
		"				case 3871 :\n" + 
11545
		"					return 3;\n" + 
11546
		"				case 3872 :\n" + 
11547
		"					return 3;\n" + 
11548
		"				case 3873 :\n" + 
11549
		"					return 3;\n" + 
11550
		"				case 3874 :\n" + 
11551
		"					return 3;\n" + 
11552
		"				case 3875 :\n" + 
11553
		"					return 3;\n" + 
11554
		"				case 3876 :\n" + 
11555
		"					return 3;\n" + 
11556
		"				case 3877 :\n" + 
11557
		"					return 3;\n" + 
11558
		"				case 3878 :\n" + 
11559
		"					return 3;\n" + 
11560
		"				case 3879 :\n" + 
11561
		"					return 3;\n" + 
11562
		"				case 3880 :\n" + 
11563
		"					return 3;\n" + 
11564
		"				case 3881 :\n" + 
11565
		"					return 3;\n" + 
11566
		"				case 3882 :\n" + 
11567
		"					return 3;\n" + 
11568
		"				case 3883 :\n" + 
11569
		"					return 3;\n" + 
11570
		"				case 3884 :\n" + 
11571
		"					return 3;\n" + 
11572
		"				case 3885 :\n" + 
11573
		"					return 3;\n" + 
11574
		"				case 3886 :\n" + 
11575
		"					return 3;\n" + 
11576
		"				case 3887 :\n" + 
11577
		"					return 3;\n" + 
11578
		"				case 3888 :\n" + 
11579
		"					return 3;\n" + 
11580
		"				case 3889 :\n" + 
11581
		"					return 3;\n" + 
11582
		"				case 3890 :\n" + 
11583
		"					return 3;\n" + 
11584
		"				case 3891 :\n" + 
11585
		"					return 3;\n" + 
11586
		"				case 3892 :\n" + 
11587
		"					return 3;\n" + 
11588
		"				case 3893 :\n" + 
11589
		"					return 3;\n" + 
11590
		"				case 3894 :\n" + 
11591
		"					return 3;\n" + 
11592
		"				case 3895 :\n" + 
11593
		"					return 3;\n" + 
11594
		"				case 3896 :\n" + 
11595
		"					return 3;\n" + 
11596
		"				case 3897 :\n" + 
11597
		"					return 3;\n" + 
11598
		"				case 3898 :\n" + 
11599
		"					return 3;\n" + 
11600
		"				case 3899 :\n" + 
11601
		"					return 3;\n" + 
11602
		"				case 3900 :\n" + 
11603
		"					return 3;\n" + 
11604
		"				case 3901 :\n" + 
11605
		"					return 3;\n" + 
11606
		"				case 3902 :\n" + 
11607
		"					return 3;\n" + 
11608
		"				case 3903 :\n" + 
11609
		"					return 3;\n" + 
11610
		"				case 3904 :\n" + 
11611
		"					return 3;\n" + 
11612
		"				case 3905 :\n" + 
11613
		"					return 3;\n" + 
11614
		"				case 3906 :\n" + 
11615
		"					return 3;\n" + 
11616
		"				case 3907 :\n" + 
11617
		"					return 3;\n" + 
11618
		"				case 3908 :\n" + 
11619
		"					return 3;\n" + 
11620
		"				case 3909 :\n" + 
11621
		"					return 3;\n" + 
11622
		"				case 3910 :\n" + 
11623
		"					return 3;\n" + 
11624
		"				case 3911 :\n" + 
11625
		"					return 3;\n" + 
11626
		"				case 3912 :\n" + 
11627
		"					return 3;\n" + 
11628
		"				case 3913 :\n" + 
11629
		"					return 3;\n" + 
11630
		"				case 3914 :\n" + 
11631
		"					return 3;\n" + 
11632
		"				case 3915 :\n" + 
11633
		"					return 3;\n" + 
11634
		"				case 3916 :\n" + 
11635
		"					return 3;\n" + 
11636
		"				case 3917 :\n" + 
11637
		"					return 3;\n" + 
11638
		"				case 3918 :\n" + 
11639
		"					return 3;\n" + 
11640
		"				case 3919 :\n" + 
11641
		"					return 3;\n" + 
11642
		"				case 3920 :\n" + 
11643
		"					return 3;\n" + 
11644
		"				case 3921 :\n" + 
11645
		"					return 3;\n" + 
11646
		"				case 3922 :\n" + 
11647
		"					return 3;\n" + 
11648
		"				case 3923 :\n" + 
11649
		"					return 3;\n" + 
11650
		"				case 3924 :\n" + 
11651
		"					return 3;\n" + 
11652
		"				case 3925 :\n" + 
11653
		"					return 3;\n" + 
11654
		"				case 3926 :\n" + 
11655
		"					return 3;\n" + 
11656
		"				case 3927 :\n" + 
11657
		"					return 3;\n" + 
11658
		"				case 3928 :\n" + 
11659
		"					return 3;\n" + 
11660
		"				case 3929 :\n" + 
11661
		"					return 3;\n" + 
11662
		"				case 3930 :\n" + 
11663
		"					return 3;\n" + 
11664
		"				case 3931 :\n" + 
11665
		"					return 3;\n" + 
11666
		"				case 3932 :\n" + 
11667
		"					return 3;\n" + 
11668
		"				case 3933 :\n" + 
11669
		"					return 3;\n" + 
11670
		"				case 3934 :\n" + 
11671
		"					return 3;\n" + 
11672
		"				case 3935 :\n" + 
11673
		"					return 3;\n" + 
11674
		"				case 3936 :\n" + 
11675
		"					return 3;\n" + 
11676
		"				case 3937 :\n" + 
11677
		"					return 3;\n" + 
11678
		"				case 3938 :\n" + 
11679
		"					return 3;\n" + 
11680
		"				case 3939 :\n" + 
11681
		"					return 3;\n" + 
11682
		"				case 3940 :\n" + 
11683
		"					return 3;\n" + 
11684
		"				case 3941 :\n" + 
11685
		"					return 3;\n" + 
11686
		"				case 3942 :\n" + 
11687
		"					return 3;\n" + 
11688
		"				case 3943 :\n" + 
11689
		"					return 3;\n" + 
11690
		"				case 3944 :\n" + 
11691
		"					return 3;\n" + 
11692
		"				case 3945 :\n" + 
11693
		"					return 3;\n" + 
11694
		"				case 3946 :\n" + 
11695
		"					return 3;\n" + 
11696
		"				case 3947 :\n" + 
11697
		"					return 3;\n" + 
11698
		"				case 3948 :\n" + 
11699
		"					return 3;\n" + 
11700
		"				case 3949 :\n" + 
11701
		"					return 3;\n" + 
11702
		"				case 3950 :\n" + 
11703
		"					return 3;\n" + 
11704
		"				case 3951 :\n" + 
11705
		"					return 3;\n" + 
11706
		"				case 3952 :\n" + 
11707
		"					return 3;\n" + 
11708
		"				case 3953 :\n" + 
11709
		"					return 3;\n" + 
11710
		"				case 3954 :\n" + 
11711
		"					return 3;\n" + 
11712
		"				case 3955 :\n" + 
11713
		"					return 3;\n" + 
11714
		"				case 3956 :\n" + 
11715
		"					return 3;\n" + 
11716
		"				case 3957 :\n" + 
11717
		"					return 3;\n" + 
11718
		"				case 3958 :\n" + 
11719
		"					return 3;\n" + 
11720
		"				case 3959 :\n" + 
11721
		"					return 3;\n" + 
11722
		"				case 3960 :\n" + 
11723
		"					return 3;\n" + 
11724
		"				case 3961 :\n" + 
11725
		"					return 3;\n" + 
11726
		"				case 3962 :\n" + 
11727
		"					return 3;\n" + 
11728
		"				case 3963 :\n" + 
11729
		"					return 3;\n" + 
11730
		"				case 3964 :\n" + 
11731
		"					return 3;\n" + 
11732
		"				case 3965 :\n" + 
11733
		"					return 3;\n" + 
11734
		"				case 3966 :\n" + 
11735
		"					return 3;\n" + 
11736
		"				case 3967 :\n" + 
11737
		"					return 3;\n" + 
11738
		"				case 3968 :\n" + 
11739
		"					return 3;\n" + 
11740
		"				case 3969 :\n" + 
11741
		"					return 3;\n" + 
11742
		"				case 3970 :\n" + 
11743
		"					return 3;\n" + 
11744
		"				case 3971 :\n" + 
11745
		"					return 3;\n" + 
11746
		"				case 3972 :\n" + 
11747
		"					return 3;\n" + 
11748
		"				case 3973 :\n" + 
11749
		"					return 3;\n" + 
11750
		"				case 3974 :\n" + 
11751
		"					return 3;\n" + 
11752
		"				case 3975 :\n" + 
11753
		"					return 3;\n" + 
11754
		"				case 3976 :\n" + 
11755
		"					return 3;\n" + 
11756
		"				case 3977 :\n" + 
11757
		"					return 3;\n" + 
11758
		"				case 3978 :\n" + 
11759
		"					return 3;\n" + 
11760
		"				case 3979 :\n" + 
11761
		"					return 3;\n" + 
11762
		"				case 3980 :\n" + 
11763
		"					return 3;\n" + 
11764
		"				case 3981 :\n" + 
11765
		"					return 3;\n" + 
11766
		"				case 3982 :\n" + 
11767
		"					return 3;\n" + 
11768
		"				case 3983 :\n" + 
11769
		"					return 3;\n" + 
11770
		"				case 3984 :\n" + 
11771
		"					return 3;\n" + 
11772
		"				case 3985 :\n" + 
11773
		"					return 3;\n" + 
11774
		"				case 3986 :\n" + 
11775
		"					return 3;\n" + 
11776
		"				case 3987 :\n" + 
11777
		"					return 3;\n" + 
11778
		"				case 3988 :\n" + 
11779
		"					return 3;\n" + 
11780
		"				case 3989 :\n" + 
11781
		"					return 3;\n" + 
11782
		"				case 3990 :\n" + 
11783
		"					return 3;\n" + 
11784
		"				case 3991 :\n" + 
11785
		"					return 3;\n" + 
11786
		"				case 3992 :\n" + 
11787
		"					return 3;\n" + 
11788
		"				case 3993 :\n" + 
11789
		"					return 3;\n" + 
11790
		"				case 3994 :\n" + 
11791
		"					return 3;\n" + 
11792
		"				case 3995 :\n" + 
11793
		"					return 3;\n" + 
11794
		"				case 3996 :\n" + 
11795
		"					return 3;\n" + 
11796
		"				case 3997 :\n" + 
11797
		"					return 3;\n" + 
11798
		"				case 3998 :\n" + 
11799
		"					return 3;\n" + 
11800
		"				case 3999 :\n" + 
11801
		"					return 3;\n" + 
11802
		"				default:\n" + 
11803
		"					return -1;\n" + 
11804
		"			}\n" + 
11805
		"		} catch(Exception e) {\n" + 
11806
		"			//ignore\n" + 
11807
		"		} finally {\n" + 
11808
		"			System.out.println(\"Enter finally block\");\n" + 
11809
		"			System.out.println(\"Inside finally block\");\n" + 
11810
		"			System.out.println(\"Leave finally block\");\n" + 
11811
		"		}\n" + 
11812
		"		return -1;\n" + 
11813
		"	}\n" + 
11814
		"	public static void main(String[] args) {\n" + 
11815
		"		System.out.println(foo(1));\n" + 
11816
		"	}\n" + 
11817
		"}"},
11818
		"Enter finally block\n" + 
11819
		"Inside finally block\n" + 
11820
		"Leave finally block\n" + 
11821
		"3");
11822
}
3796
public static Class testClass() {
11823
public static Class testClass() {
3797
	return XLargeTest.class;
11824
	return XLargeTest.class;
3798
}
11825
}

Return to bug 169017