1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 class A {}
18 class B1 extends A {}
19 class B2 extends A {}
20 class C1 extends B1 {}
21 class C2 extends B1 {}
22 class D1 extends C1 {}
23 class D2 extends C2 {}
24 class E1 extends D2 {}
25 class E2 extends D1 {}
26 class E3 extends D2 {}
27 class E4 extends D1 {}
28 class E5 extends D2 {}
29 class E6 extends D1 {}
30 class E7 extends D2 {}
31 class E8 extends D1 {}
32 class E9 extends D2 {}
33 class E10 extends D1 {}
34 class E11 extends D2 {}
35 class E12 extends D1 {}
36 class E13 extends D2 {}
37 class E14 extends D1 {}
38 class E15 extends D2 {}
39 class E16 extends D1 {}
40 class E17 extends D2 {}
41 class E18 extends D1 {}
42 class E19 extends D2 {}
43 class E20 extends D1 {}
44 class E21 extends D2 {}
45 class E22 extends D1 {}
46 class E23 extends D2 {}
47 class E24 extends D1 {}
48 class E25 extends D2 {}
49 class E26 extends D1 {}
50 class E27 extends D2 {}
51 class E28 extends D1 {}
52 class E29 extends D2 {}
53 class E30 extends D1 {}
54 class E31 extends D2 {}
55 class E32 extends D1 {}
56 class E33 extends D2 {}
57 class E34 extends D1 {}
58 class E35 extends D2 {}
59 class E36 extends D1 {}
60 class E37 extends D2 {}
61 class E38 extends D1 {}
62 class E39 extends D2 {}
63 class E40 extends D1 {}
64 class E41 extends D2 {}
65 class E42 extends D1 {}
66 class E43 extends D2 {}
67 class E44 extends D1 {}
68 class E45 extends D2 {}
69 class E46 extends D1 {}
70 class E47 extends D2 {}
71 class E48 extends D1 {}
72 class E49 extends D2 {}
73 class E50 extends D1 {}
74 class E51 extends D2 {}
75 class E52 extends D1 {}
76 class E53 extends D2 {}
77 class E54 extends D1 {}
78 class E55 extends D2 {}
79 class E56 extends D1 {}
80 class E57 extends D2 {}
81 class E58 extends D1 {}
82 class E59 extends D2 {}
83 class E60 extends D1 {}
84 class E61 extends D2 {}
85 class E62 extends D1 {}
86 class E63 extends D2 {}
87 class E64 extends D1 {}
88 class E65 extends D2 {}
89 class E66 extends D1 {}
90 class E67 extends D2 {}
91 class E68 extends D1 {}
92 class E69 extends D2 {}
93 class E70 extends D1 {}
94 class E71 extends D2 {}
95 class E72 extends D1 {}
96 class E73 extends D2 {}
97 class E74 extends D1 {}
98 class E75 extends D2 {}
99 class E76 extends D1 {}
100 class E77 extends D2 {}
101 class E78 extends D1 {}
102 class E79 extends D2 {}
103 class E80 extends D1 {}
104 class E81 extends D2 {}
105 class E82 extends D1 {}
106 class E83 extends D2 {}
107 class E84 extends D1 {}
108 class E85 extends D2 {}
109 class E86 extends D1 {}
110 class E87 extends D2 {}
111 class E88 extends D1 {}
112 class E89 extends D2 {}
113 class E90 extends D1 {}
114 class E91 extends D2 {}
115 class E92 extends D1 {}
116 class E93 extends D2 {}
117 class E94 extends D1 {}
118 class E95 extends D2 {}
119 class E96 extends D1 {}
120 class E97 extends D2 {}
121 class E98 extends D1 {}
122 class E99 extends D2 {}
123 class E100 extends D1 {}
124 class E101 extends D2 {}
125 class E102 extends D1 {}
126 class E103 extends D2 {}
127 class E104 extends D1 {}
128 class E105 extends D2 {}
129 class E106 extends D1 {}
130 class E107 extends D2 {}
131 class E108 extends D1 {}
132 class E109 extends D2 {}
133 class E110 extends D1 {}
134 class E111 extends D2 {}
135 class E112 extends D1 {}
136 class E113 extends D2 {}
137 class E114 extends D1 {}
138 class E115 extends D2 {}
139 class E116 extends D1 {}
140 class E117 extends D2 {}
141 class E118 extends D1 {}
142 class E119 extends D2 {}
143 class E120 extends D1 {}
144 class E121 extends D2 {}
145 class E122 extends D1 {}
146 class E123 extends D2 {}
147 class E124 extends D1 {}
148 class E125 extends D2 {}
149 class E126 extends D1 {}
150 class E127 extends D2 {}
151 class E128 extends D1 {}
152 class E129 extends D2 {}
153 class E130 extends D1 {}
154 class E131 extends D2 {}
155 class E132 extends D1 {}
156 class E133 extends D2 {}
157 class E134 extends D1 {}
158 class E135 extends D2 {}
159 class E136 extends D1 {}
160 class E137 extends D2 {}
161 class E138 extends D1 {}
162 class E139 extends D2 {}
163 class E140 extends D1 {}
164 class E141 extends D2 {}
165 class E142 extends D1 {}
166 class E143 extends D2 {}
167 class E144 extends D1 {}
168 class E145 extends D2 {}
169 class E146 extends D1 {}
170 class E147 extends D2 {}
171 class E148 extends D1 {}
172 class E149 extends D2 {}
173 class E150 extends D1 {}
174 class E151 extends D2 {}
175 class E152 extends D1 {}
176 class E153 extends D2 {}
177 class E154 extends D1 {}
178 class E155 extends D2 {}
179 class E156 extends D1 {}
180 class E157 extends D2 {}
181 class E158 extends D1 {}
182 class E159 extends D2 {}
183 class E160 extends D1 {}
184 class E161 extends D2 {}
185 class E162 extends D1 {}
186 class E163 extends D2 {}
187 class E164 extends D1 {}
188 class E165 extends D2 {}
189 class E166 extends D1 {}
190 class E167 extends D2 {}
191 class E168 extends D1 {}
192 class E169 extends D2 {}
193 class E170 extends D1 {}
194 class E171 extends D2 {}
195 class E172 extends D1 {}
196 class E173 extends D2 {}
197 class E174 extends D1 {}
198 class E175 extends D2 {}
199 class E176 extends D1 {}
200 class E177 extends D2 {}
201 class E178 extends D1 {}
202 class E179 extends D2 {}
203 class E180 extends D1 {}
204 class E181 extends D2 {}
205 class E182 extends D1 {}
206 class E183 extends D2 {}
207 class E184 extends D1 {}
208 class E185 extends D2 {}
209 class E186 extends D1 {}
210 class E187 extends D2 {}
211 class E188 extends D1 {}
212 class E189 extends D2 {}
213 class E190 extends D1 {}
214 class E191 extends D2 {}
215 class E192 extends D1 {}
216 class E193 extends D2 {}
217 class E194 extends D1 {}
218 class E195 extends D2 {}
219 class E196 extends D1 {}
220 class E197 extends D2 {}
221 class E198 extends D1 {}
222 class E199 extends D2 {}
223 class E200 extends D1 {}
224 class E201 extends D2 {}
225 class E202 extends D1 {}
226 class E203 extends D2 {}
227 class E204 extends D1 {}
228 class E205 extends D2 {}
229 class E206 extends D1 {}
230 class E207 extends D2 {}
231 class E208 extends D1 {}
232 class E209 extends D2 {}
233 class E210 extends D1 {}
234 class E211 extends D2 {}
235 class E212 extends D1 {}
236 class E213 extends D2 {}
237 class E214 extends D1 {}
238 class E215 extends D2 {}
239 class E216 extends D1 {}
240 class E217 extends D2 {}
241 class E218 extends D1 {}
242 class E219 extends D2 {}
243 class E220 extends D1 {}
244 class E221 extends D2 {}
245 class E222 extends D1 {}
246 class E223 extends D2 {}
247 class E224 extends D1 {}
248 class E225 extends D2 {}
249 class E226 extends D1 {}
250 class E227 extends D2 {}
251 class E228 extends D1 {}
252 class E229 extends D2 {}
253 class E230 extends D1 {}
254 class E231 extends D2 {}
255 class E232 extends D1 {}
256 class E233 extends D2 {}
257 class E234 extends D1 {}
258 class E235 extends D2 {}
259 class E236 extends D1 {}
260 class E237 extends D2 {}
261 class E238 extends D1 {}
262 class E239 extends D2 {}
263 class E240 extends D1 {}
264 class E241 extends D2 {}
265 class E242 extends D1 {}
266 class E243 extends D2 {}
267 class E244 extends D1 {}
268 class E245 extends D2 {}
269 class E246 extends D1 {}
270 class E247 extends D2 {}
271 class E248 extends D1 {}
272 class E249 extends D2 {}
273 class E250 extends D1 {}
274 class E251 extends D2 {}
275 class E252 extends D1 {}
276 class E253 extends D2 {}
277 class E254 extends D1 {}
278 class E255 extends D2 {}
279 class E256 extends D1 {}
280 class E257 extends D2 {}
281 class E258 extends D1 {}
282 class E259 extends D2 {}
283 class E260 extends D1 {}
284 class E261 extends D2 {}
285 class E262 extends D1 {}
286 class E263 extends D2 {}
287 class E264 extends D1 {}
288 class E265 extends D2 {}
289 class E266 extends D1 {}
290 class E267 extends D2 {}
291 class E268 extends D1 {}
292 class E269 extends D2 {}
293 class E270 extends D1 {}
294 class E271 extends D2 {}
295 class E272 extends D1 {}
296 class E273 extends D2 {}
297 class E274 extends D1 {}
298 class E275 extends D2 {}
299 class E276 extends D1 {}
300 class E277 extends D2 {}
301 class E278 extends D1 {}
302 class E279 extends D2 {}
303 class E280 extends D1 {}
304 class E281 extends D2 {}
305 class E282 extends D1 {}
306 class E283 extends D2 {}
307 class E284 extends D1 {}
308 class E285 extends D2 {}
309 class E286 extends D1 {}
310 class E287 extends D2 {}
311 class E288 extends D1 {}
312 class E289 extends D2 {}
313 class E290 extends D1 {}
314 class E291 extends D2 {}
315 class E292 extends D1 {}
316 class E293 extends D2 {}
317 class E294 extends D1 {}
318 class E295 extends D2 {}
319 class E296 extends D1 {}
320 class E297 extends D2 {}
321 class E298 extends D1 {}
322 class E299 extends D2 {}
323 class E300 extends D1 {}
324 class E301 extends D2 {}
325 class E302 extends D1 {}
326 class E303 extends D2 {}
327 class E304 extends D1 {}
328 class E305 extends D2 {}
329 class E306 extends D1 {}
330 class E307 extends D2 {}
331 class E308 extends D1 {}
332 class E309 extends D2 {}
333 class E310 extends D1 {}
334 class E311 extends D2 {}
335 class E312 extends D1 {}
336 class E313 extends D2 {}
337 class E314 extends D1 {}
338 class E315 extends D2 {}
339 class E316 extends D1 {}
340 class E317 extends D2 {}
341 class E318 extends D1 {}
342 class E319 extends D2 {}
343 class E320 extends D1 {}
344 class E321 extends D2 {}
345 class E322 extends D1 {}
346 class E323 extends D2 {}
347 class E324 extends D1 {}
348 class E325 extends D2 {}
349 class E326 extends D1 {}
350 class E327 extends D2 {}
351 class E328 extends D1 {}
352 class E329 extends D2 {}
353 class E330 extends D1 {}
354 class E331 extends D2 {}
355 class E332 extends D1 {}
356 class E333 extends D2 {}
357 class E334 extends D1 {}
358 class E335 extends D2 {}
359 class E336 extends D1 {}
360 class E337 extends D2 {}
361 class E338 extends D1 {}
362 class E339 extends D2 {}
363 class E340 extends D1 {}
364 class E341 extends D2 {}
365 class E342 extends D1 {}
366 class E343 extends D2 {}
367 class E344 extends D1 {}
368 class E345 extends D2 {}
369 class E346 extends D1 {}
370 class E347 extends D2 {}
371 class E348 extends D1 {}
372 class E349 extends D2 {}
373 class E350 extends D1 {}
374 class E351 extends D2 {}
375 class E352 extends D1 {}
376 class E353 extends D2 {}
377 class E354 extends D1 {}
378 class E355 extends D2 {}
379 class E356 extends D1 {}
380 class E357 extends D2 {}
381 class E358 extends D1 {}
382 class E359 extends D2 {}
383 class E360 extends D1 {}
384 class E361 extends D2 {}
385 class E362 extends D1 {}
386 class E363 extends D2 {}
387 class E364 extends D1 {}
388 class E365 extends D2 {}
389 class E366 extends D1 {}
390 class E367 extends D2 {}
391 class E368 extends D1 {}
392 class E369 extends D2 {}
393 class E370 extends D1 {}
394 class E371 extends D2 {}
395 class E372 extends D1 {}
396 class E373 extends D2 {}
397 class E374 extends D1 {}
398 class E375 extends D2 {}
399 class E376 extends D1 {}
400 class E377 extends D2 {}
401 class E378 extends D1 {}
402 class E379 extends D2 {}
403 class E380 extends D1 {}
404 class E381 extends D2 {}
405 class E382 extends D1 {}
406 class E383 extends D2 {}
407 class E384 extends D1 {}
408 class E385 extends D2 {}
409 class E386 extends D1 {}
410 class E387 extends D2 {}
411 class E388 extends D1 {}
412 class E389 extends D2 {}
413 class E390 extends D1 {}
414 class E391 extends D2 {}
415 class E392 extends D1 {}
416 class E393 extends D2 {}
417 class E394 extends D1 {}
418 class E395 extends D2 {}
419 class E396 extends D1 {}
420 class E397 extends D2 {}
421 class E398 extends D1 {}
422 class E399 extends D2 {}
423 class E400 extends D1 {}
424 class E401 extends D2 {}
425 class E402 extends D1 {}
426 class E403 extends D2 {}
427 class E404 extends D1 {}
428 class E405 extends D2 {}
429 class E406 extends D1 {}
430 class E407 extends D2 {}
431 class E408 extends D1 {}
432 class E409 extends D2 {}
433 class E410 extends D1 {}
434 class E411 extends D2 {}
435 class E412 extends D1 {}
436 class E413 extends D2 {}
437 class E414 extends D1 {}
438 class E415 extends D2 {}
439 class E416 extends D1 {}
440 class E417 extends D2 {}
441 class E418 extends D1 {}
442 class E419 extends D2 {}
443 class E420 extends D1 {}
444 class E421 extends D2 {}
445 class E422 extends D1 {}
446 class E423 extends D2 {}
447 class E424 extends D1 {}
448 class E425 extends D2 {}
449 class E426 extends D1 {}
450 class E427 extends D2 {}
451 class E428 extends D1 {}
452 class E429 extends D2 {}
453 class E430 extends D1 {}
454 class E431 extends D2 {}
455 class E432 extends D1 {}
456 class E433 extends D2 {}
457 class E434 extends D1 {}
458 class E435 extends D2 {}
459 class E436 extends D1 {}
460 class E437 extends D2 {}
461 class E438 extends D1 {}
462 class E439 extends D2 {}
463 class E440 extends D1 {}
464 class E441 extends D2 {}
465 class E442 extends D1 {}
466 class E443 extends D2 {}
467 class E444 extends D1 {}
468 class E445 extends D2 {}
469 class E446 extends D1 {}
470 class E447 extends D2 {}
471 class E448 extends D1 {}
472 class E449 extends D2 {}
473 class E450 extends D1 {}
474 class E451 extends D2 {}
475 class E452 extends D1 {}
476 class E453 extends D2 {}
477 class E454 extends D1 {}
478 class E455 extends D2 {}
479 class E456 extends D1 {}
480 class E457 extends D2 {}
481 class E458 extends D1 {}
482 class E459 extends D2 {}
483 class E460 extends D1 {}
484 class E461 extends D2 {}
485 class E462 extends D1 {}
486 class E463 extends D2 {}
487 class E464 extends D1 {}
488 class E465 extends D2 {}
489 class E466 extends D1 {}
490 class E467 extends D2 {}
491 class E468 extends D1 {}
492 class E469 extends D2 {}
493 class E470 extends D1 {}
494 class E471 extends D2 {}
495 class E472 extends D1 {}
496 class E473 extends D2 {}
497 class E474 extends D1 {}
498 class E475 extends D2 {}
499 class E476 extends D1 {}
500 class E477 extends D2 {}
501 class E478 extends D1 {}
502 class E479 extends D2 {}
503 class E480 extends D1 {}
504 class E481 extends D2 {}
505 class E482 extends D1 {}
506 class E483 extends D2 {}
507 class E484 extends D1 {}
508 class E485 extends D2 {}
509 class E486 extends D1 {}
510 class E487 extends D2 {}
511 class E488 extends D1 {}
512 class E489 extends D2 {}
513 class E490 extends D1 {}
514 class E491 extends D2 {}
515 class E492 extends D1 {}
516 class E493 extends D2 {}
517 class E494 extends D1 {}
518 class E495 extends D2 {}
519 class E496 extends D1 {}
520 class E497 extends D2 {}
521 class E498 extends D1 {}
522 class E499 extends D2 {}
523 class E500 extends D1 {}
524 class E501 extends D2 {}
525 class E502 extends D1 {}
526 class E503 extends D2 {}
527 class E504 extends D1 {}
528 class E505 extends D2 {}
529 class E506 extends D1 {}
530 class E507 extends D2 {}
531 class E508 extends D1 {}
532 class E509 extends D2 {}
533 class E510 extends D1 {}
534 class E511 extends D2 {}
535 class E512 extends D1 {}
536 class E513 extends D2 {}
537 class E514 extends D1 {}
538 class E515 extends D2 {}
539 class E516 extends D1 {}
540 class E517 extends D2 {}
541 class E518 extends D1 {}
542 class E519 extends D2 {}
543 class E520 extends D1 {}
544 class E521 extends D2 {}
545 class E522 extends D1 {}
546 class E523 extends D2 {}
547 class E524 extends D1 {}
548 class E525 extends D2 {}
549 class E526 extends D1 {}
550 class E527 extends D2 {}
551 class E528 extends D1 {}
552 class E529 extends D2 {}
553 class E530 extends D1 {}
554 class E531 extends D2 {}
555 class E532 extends D1 {}
556 class E533 extends D2 {}
557 class E534 extends D1 {}
558 class E535 extends D2 {}
559 class E536 extends D1 {}
560 class E537 extends D2 {}
561 class E538 extends D1 {}
562 class E539 extends D2 {}
563 class E540 extends D1 {}
564 class E541 extends D2 {}
565 class E542 extends D1 {}
566 class E543 extends D2 {}
567 class E544 extends D1 {}
568 class E545 extends D2 {}
569 class E546 extends D1 {}
570 class E547 extends D2 {}
571 class E548 extends D1 {}
572 class E549 extends D2 {}
573 class E550 extends D1 {}
574 class E551 extends D2 {}
575 class E552 extends D1 {}
576 class E553 extends D2 {}
577 class E554 extends D1 {}
578 class E555 extends D2 {}
579 class E556 extends D1 {}
580 class E557 extends D2 {}
581 class E558 extends D1 {}
582 class E559 extends D2 {}
583 class E560 extends D1 {}
584 class E561 extends D2 {}
585 class E562 extends D1 {}
586 class E563 extends D2 {}
587 class E564 extends D1 {}
588 class E565 extends D2 {}
589 class E566 extends D1 {}
590 class E567 extends D2 {}
591 class E568 extends D1 {}
592 class E569 extends D2 {}
593 class E570 extends D1 {}
594 class E571 extends D2 {}
595 class E572 extends D1 {}
596 class E573 extends D2 {}
597 class E574 extends D1 {}
598 class E575 extends D2 {}
599 class E576 extends D1 {}
600 class E577 extends D2 {}
601 class E578 extends D1 {}
602 class E579 extends D2 {}
603 class E580 extends D1 {}
604 class E581 extends D2 {}
605 class E582 extends D1 {}
606 class E583 extends D2 {}
607 class E584 extends D1 {}
608 class E585 extends D2 {}
609 class E586 extends D1 {}
610 class E587 extends D2 {}
611 class E588 extends D1 {}
612 class E589 extends D2 {}
613 class E590 extends D1 {}
614 class E591 extends D2 {}
615 class E592 extends D1 {}
616 class E593 extends D2 {}
617 class E594 extends D1 {}
618 class E595 extends D2 {}
619 class E596 extends D1 {}
620 class E597 extends D2 {}
621 class E598 extends D1 {}
622 class E599 extends D2 {}
623 class E600 extends D1 {}
624 class E601 extends D2 {}
625 class E602 extends D1 {}
626 class E603 extends D2 {}
627 class E604 extends D1 {}
628 class E605 extends D2 {}
629 class E606 extends D1 {}
630 class E607 extends D2 {}
631 class E608 extends D1 {}
632 class E609 extends D2 {}
633 class E610 extends D1 {}
634 class E611 extends D2 {}
635 class E612 extends D1 {}
636 class E613 extends D2 {}
637 class E614 extends D1 {}
638 class E615 extends D2 {}
639 class E616 extends D1 {}
640 class E617 extends D2 {}
641 class E618 extends D1 {}
642 class E619 extends D2 {}
643 class E620 extends D1 {}
644 class E621 extends D2 {}
645 class E622 extends D1 {}
646 class E623 extends D2 {}
647 class E624 extends D1 {}
648 class E625 extends D2 {}
649 class E626 extends D1 {}
650 class E627 extends D2 {}
651 class E628 extends D1 {}
652 class E629 extends D2 {}
653 class E630 extends D1 {}
654 class E631 extends D2 {}
655 class E632 extends D1 {}
656 class E633 extends D2 {}
657 class E634 extends D1 {}
658 class E635 extends D2 {}
659 class E636 extends D1 {}
660 class E637 extends D2 {}
661 class E638 extends D1 {}
662 class E639 extends D2 {}
663 class E640 extends D1 {}
664 class E641 extends D2 {}
665 class E642 extends D1 {}
666 class E643 extends D2 {}
667 class E644 extends D1 {}
668 class E645 extends D2 {}
669 class E646 extends D1 {}
670 class E647 extends D2 {}
671 class E648 extends D1 {}
672 class E649 extends D2 {}
673 class E650 extends D1 {}
674 class E651 extends D2 {}
675 class E652 extends D1 {}
676 class E653 extends D2 {}
677 class E654 extends D1 {}
678 class E655 extends D2 {}
679 class E656 extends D1 {}
680 class E657 extends D2 {}
681 class E658 extends D1 {}
682 class E659 extends D2 {}
683 class E660 extends D1 {}
684 class E661 extends D2 {}
685 class E662 extends D1 {}
686 class E663 extends D2 {}
687 class E664 extends D1 {}
688 class E665 extends D2 {}
689 class E666 extends D1 {}
690 class E667 extends D2 {}
691 class E668 extends D1 {}
692 class E669 extends D2 {}
693 class E670 extends D1 {}
694 class E671 extends D2 {}
695 class E672 extends D1 {}
696 class E673 extends D2 {}
697 class E674 extends D1 {}
698 class E675 extends D2 {}
699 class E676 extends D1 {}
700 class E677 extends D2 {}
701 class E678 extends D1 {}
702 class E679 extends D2 {}
703 class E680 extends D1 {}
704 class E681 extends D2 {}
705 class E682 extends D1 {}
706 class E683 extends D2 {}
707 class E684 extends D1 {}
708 class E685 extends D2 {}
709 class E686 extends D1 {}
710 class E687 extends D2 {}
711 class E688 extends D1 {}
712 class E689 extends D2 {}
713 class E690 extends D1 {}
714 class E691 extends D2 {}
715 class E692 extends D1 {}
716 class E693 extends D2 {}
717 class E694 extends D1 {}
718 class E695 extends D2 {}
719 class E696 extends D1 {}
720 class E697 extends D2 {}
721 class E698 extends D1 {}
722 class E699 extends D2 {}
723 class E700 extends D1 {}
724 class E701 extends D2 {}
725 class E702 extends D1 {}
726 class E703 extends D2 {}
727 class E704 extends D1 {}
728 class E705 extends D2 {}
729 class E706 extends D1 {}
730 class E707 extends D2 {}
731 class E708 extends D1 {}
732 class E709 extends D2 {}
733 class E710 extends D1 {}
734 class E711 extends D2 {}
735 class E712 extends D1 {}
736 class E713 extends D2 {}
737 class E714 extends D1 {}
738 class E715 extends D2 {}
739 class E716 extends D1 {}
740 class E717 extends D2 {}
741 class E718 extends D1 {}
742 class E719 extends D2 {}
743 class E720 extends D1 {}
744 class E721 extends D2 {}
745 class E722 extends D1 {}
746 class E723 extends D2 {}
747 class E724 extends D1 {}
748 class E725 extends D2 {}
749 class E726 extends D1 {}
750 class E727 extends D2 {}
751 class E728 extends D1 {}
752 class E729 extends D2 {}
753 class E730 extends D1 {}
754 class E731 extends D2 {}
755 class E732 extends D1 {}
756 class E733 extends D2 {}
757 class E734 extends D1 {}
758 class E735 extends D2 {}
759 class E736 extends D1 {}
760 class E737 extends D2 {}
761 class E738 extends D1 {}
762 class E739 extends D2 {}
763 class E740 extends D1 {}
764 class E741 extends D2 {}
765 class E742 extends D1 {}
766 class E743 extends D2 {}
767 class E744 extends D1 {}
768 class E745 extends D2 {}
769 class E746 extends D1 {}
770 class E747 extends D2 {}
771 class E748 extends D1 {}
772 class E749 extends D2 {}
773 class E750 extends D1 {}
774 class E751 extends D2 {}
775 class E752 extends D1 {}
776 class E753 extends D2 {}
777 class E754 extends D1 {}
778 class E755 extends D2 {}
779 class E756 extends D1 {}
780 class E757 extends D2 {}
781 class E758 extends D1 {}
782 class E759 extends D2 {}
783 class E760 extends D1 {}
784 class E761 extends D2 {}
785 class E762 extends D1 {}
786 class E763 extends D2 {}
787 class E764 extends D1 {}
788 class E765 extends D2 {}
789 class E766 extends D1 {}
790 class E767 extends D2 {}
791 class E768 extends D1 {}
792 class E769 extends D2 {}
793 class E770 extends D1 {}
794 class E771 extends D2 {}
795 class E772 extends D1 {}
796 class E773 extends D2 {}
797 class E774 extends D1 {}
798 class E775 extends D2 {}
799 class E776 extends D1 {}
800 class E777 extends D2 {}
801 class E778 extends D1 {}
802 class E779 extends D2 {}
803 class E780 extends D1 {}
804 class E781 extends D2 {}
805 class E782 extends D1 {}
806 class E783 extends D2 {}
807 class E784 extends D1 {}
808 class E785 extends D2 {}
809 class E786 extends D1 {}
810 class E787 extends D2 {}
811 class E788 extends D1 {}
812 class E789 extends D2 {}
813 class E790 extends D1 {}
814 class E791 extends D2 {}
815 class E792 extends D1 {}
816 class E793 extends D2 {}
817 class E794 extends D1 {}
818 class E795 extends D2 {}
819 class E796 extends D1 {}
820 class E797 extends D2 {}
821 class E798 extends D1 {}
822 class E799 extends D2 {}
823 class E800 extends D1 {}
824 class E801 extends D2 {}
825 class E802 extends D1 {}
826 class E803 extends D2 {}
827 class E804 extends D1 {}
828 class E805 extends D2 {}
829 class E806 extends D1 {}
830 class E807 extends D2 {}
831 class E808 extends D1 {}
832 class E809 extends D2 {}
833 class E810 extends D1 {}
834 class E811 extends D2 {}
835 class E812 extends D1 {}
836 class E813 extends D2 {}
837 class E814 extends D1 {}
838 class E815 extends D2 {}
839 class E816 extends D1 {}
840 class E817 extends D2 {}
841 class E818 extends D1 {}
842 class E819 extends D2 {}
843 class E820 extends D1 {}
844 class E821 extends D2 {}
845 class E822 extends D1 {}
846 class E823 extends D2 {}
847 class E824 extends D1 {}
848 class E825 extends D2 {}
849 class E826 extends D1 {}
850 class E827 extends D2 {}
851 class E828 extends D1 {}
852 class E829 extends D2 {}
853 class E830 extends D1 {}
854 class E831 extends D2 {}
855 class E832 extends D1 {}
856 class E833 extends D2 {}
857 class E834 extends D1 {}
858 class E835 extends D2 {}
859 class E836 extends D1 {}
860 class E837 extends D2 {}
861 class E838 extends D1 {}
862 class E839 extends D2 {}
863 class E840 extends D1 {}
864 class E841 extends D2 {}
865 class E842 extends D1 {}
866 class E843 extends D2 {}
867 class E844 extends D1 {}
868 class E845 extends D2 {}
869 class E846 extends D1 {}
870 class E847 extends D2 {}
871 class E848 extends D1 {}
872 class E849 extends D2 {}
873 class E850 extends D1 {}
874 class E851 extends D2 {}
875 class E852 extends D1 {}
876 class E853 extends D2 {}
877 class E854 extends D1 {}
878 class E855 extends D2 {}
879 class E856 extends D1 {}
880 class E857 extends D2 {}
881 class E858 extends D1 {}
882 class E859 extends D2 {}
883 class E860 extends D1 {}
884 class E861 extends D2 {}
885 class E862 extends D1 {}
886 class E863 extends D2 {}
887 class E864 extends D1 {}
888 class E865 extends D2 {}
889 class E866 extends D1 {}
890 class E867 extends D2 {}
891 class E868 extends D1 {}
892 class E869 extends D2 {}
893 class E870 extends D1 {}
894 class E871 extends D2 {}
895 class E872 extends D1 {}
896 class E873 extends D2 {}
897 class E874 extends D1 {}
898 class E875 extends D2 {}
899 class E876 extends D1 {}
900 class E877 extends D2 {}
901 class E878 extends D1 {}
902 class E879 extends D2 {}
903 class E880 extends D1 {}
904 class E881 extends D2 {}
905 class E882 extends D1 {}
906 class E883 extends D2 {}
907 class E884 extends D1 {}
908 class E885 extends D2 {}
909 class E886 extends D1 {}
910 class E887 extends D2 {}
911 class E888 extends D1 {}
912 class E889 extends D2 {}
913 class E890 extends D1 {}
914 class E891 extends D2 {}
915 class E892 extends D1 {}
916 class E893 extends D2 {}
917 class E894 extends D1 {}
918 class E895 extends D2 {}
919 class E896 extends D1 {}
920 class E897 extends D2 {}
921 class E898 extends D1 {}
922 class E899 extends D2 {}
923 class E900 extends D1 {}
924 class E901 extends D2 {}
925 class E902 extends D1 {}
926 class E903 extends D2 {}
927 class E904 extends D1 {}
928 class E905 extends D2 {}
929 class E906 extends D1 {}
930 class E907 extends D2 {}
931 class E908 extends D1 {}
932 class E909 extends D2 {}
933 class E910 extends D1 {}
934 class E911 extends D2 {}
935 class E912 extends D1 {}
936 class E913 extends D2 {}
937 class E914 extends D1 {}
938 class E915 extends D2 {}
939 class E916 extends D1 {}
940 class E917 extends D2 {}
941 class E918 extends D1 {}
942 class E919 extends D2 {}
943 class E920 extends D1 {}
944 class E921 extends D2 {}
945 class E922 extends D1 {}
946 class E923 extends D2 {}
947 class E924 extends D1 {}
948 class E925 extends D2 {}
949 class E926 extends D1 {}
950 class E927 extends D2 {}
951 class E928 extends D1 {}
952 class E929 extends D2 {}
953 class E930 extends D1 {}
954 class E931 extends D2 {}
955 class E932 extends D1 {}
956 class E933 extends D2 {}
957 class E934 extends D1 {}
958 class E935 extends D2 {}
959 class E936 extends D1 {}
960 class E937 extends D2 {}
961 class E938 extends D1 {}
962 class E939 extends D2 {}
963 class E940 extends D1 {}
964 class E941 extends D2 {}
965 class E942 extends D1 {}
966 class E943 extends D2 {}
967 class E944 extends D1 {}
968 class E945 extends D2 {}
969 class E946 extends D1 {}
970 class E947 extends D2 {}
971 class E948 extends D1 {}
972 class E949 extends D2 {}
973 class E950 extends D1 {}
974 class E951 extends D2 {}
975 class E952 extends D1 {}
976 class E953 extends D2 {}
977 class E954 extends D1 {}
978 class E955 extends D2 {}
979 class E956 extends D1 {}
980 class E957 extends D2 {}
981 class E958 extends D1 {}
982 class E959 extends D2 {}
983 class E960 extends D1 {}
984 class E961 extends D2 {}
985 class E962 extends D1 {}
986 class E963 extends D2 {}
987 class E964 extends D1 {}
988 class E965 extends D2 {}
989 class E966 extends D1 {}
990 class E967 extends D2 {}
991 class E968 extends D1 {}
992 class E969 extends D2 {}
993 class E970 extends D1 {}
994 class E971 extends D2 {}
995 class E972 extends D1 {}
996 class E973 extends D2 {}
997 class E974 extends D1 {}
998 class E975 extends D2 {}
999 class E976 extends D1 {}
1000 class E977 extends D2 {}
1001 class E978 extends D1 {}
1002 class E979 extends D2 {}
1003 class E980 extends D1 {}
1004 class E981 extends D2 {}
1005 class E982 extends D1 {}
1006 class E983 extends D2 {}
1007 class E984 extends D1 {}
1008 class E985 extends D2 {}
1009 class E986 extends D1 {}
1010 class E987 extends D2 {}
1011 class E988 extends D1 {}
1012 class E989 extends D2 {}
1013 class E990 extends D1 {}
1014 class E991 extends D2 {}
1015 class E992 extends D1 {}
1016 class E993 extends D2 {}
1017 class E994 extends D1 {}
1018 class E995 extends D2 {}
1019 class E996 extends D1 {}
1020 class E997 extends D2 {}
1021 class E998 extends D1 {}
1022 class E999 extends D2 {}
1023 class E1000 extends D1 {}
1024 class E1001 extends D2 {}
1025 class E1002 extends D1 {}
1026 class E1003 extends D2 {}
1027 class E1004 extends D1 {}
1028 class E1005 extends D2 {}
1029 class E1006 extends D1 {}
1030 class E1007 extends D2 {}
1031 class E1008 extends D1 {}
1032 class E1009 extends D2 {}
1033 class E1010 extends D1 {}
1034 class E1011 extends D2 {}
1035 class E1012 extends D1 {}
1036 class E1013 extends D2 {}
1037 class E1014 extends D1 {}
1038 class E1015 extends D2 {}
1039 class E1016 extends D1 {}
1040 class E1017 extends D2 {}
1041 class E1018 extends D1 {}
1042 class E1019 extends D2 {}
1043 class E1020 extends D1 {}
1044 class E1021 extends D2 {}
1045 class E1022 extends D1 {}
1046 class E1023 extends D2 {}
1047 class E1024 extends D1 {}
1048 class E1025 extends D2 {}
1049 class E1026 extends D1 {}
1050 class E1027 extends D2 {}
1051 class E1028 extends D1 {}
1052 class E1029 extends D2 {}
1053 class E1030 extends D1 {}
1054 class E1031 extends D2 {}
1055 class E1032 extends D1 {}
1056 class E1033 extends D2 {}
1057 class E1034 extends D1 {}
1058 class E1035 extends D2 {}
1059 class E1036 extends D1 {}
1060 class E1037 extends D2 {}
1061 class E1038 extends D1 {}
1062 class E1039 extends D2 {}
1063 class E1040 extends D1 {}
1064 class E1041 extends D2 {}
1065 class E1042 extends D1 {}
1066 class E1043 extends D2 {}
1067 class E1044 extends D1 {}
1068 class E1045 extends D2 {}
1069 class E1046 extends D1 {}
1070 class E1047 extends D2 {}
1071 class E1048 extends D1 {}
1072 class E1049 extends D2 {}
1073 class E1050 extends D1 {}
1074 class E1051 extends D2 {}
1075 class E1052 extends D1 {}
1076 class E1053 extends D2 {}
1077 class E1054 extends D1 {}
1078 class E1055 extends D2 {}
1079 class E1056 extends D1 {}
1080 class E1057 extends D2 {}
1081 class E1058 extends D1 {}
1082 class E1059 extends D2 {}
1083 class E1060 extends D1 {}
1084 class E1061 extends D2 {}
1085 class E1062 extends D1 {}
1086 class E1063 extends D2 {}
1087 class E1064 extends D1 {}
1088 class E1065 extends D2 {}
1089 class E1066 extends D1 {}
1090 class E1067 extends D2 {}
1091 class E1068 extends D1 {}
1092 class E1069 extends D2 {}
1093 class E1070 extends D1 {}
1094 class E1071 extends D2 {}
1095 class E1072 extends D1 {}
1096 class E1073 extends D2 {}
1097 class E1074 extends D1 {}
1098 class E1075 extends D2 {}
1099 class E1076 extends D1 {}
1100 class E1077 extends D2 {}
1101 class E1078 extends D1 {}
1102 class E1079 extends D2 {}
1103 class E1080 extends D1 {}
1104 class E1081 extends D2 {}
1105 class E1082 extends D1 {}
1106 class E1083 extends D2 {}
1107 class E1084 extends D1 {}
1108 class E1085 extends D2 {}
1109 class E1086 extends D1 {}
1110 class E1087 extends D2 {}
1111 class E1088 extends D1 {}
1112 class E1089 extends D2 {}
1113 class E1090 extends D1 {}
1114 class E1091 extends D2 {}
1115 class E1092 extends D1 {}
1116 class E1093 extends D2 {}
1117 class E1094 extends D1 {}
1118 class E1095 extends D2 {}
1119 class E1096 extends D1 {}
1120 class E1097 extends D2 {}
1121 class E1098 extends D1 {}
1122 class E1099 extends D2 {}
1123 class E1100 extends D1 {}
1124 class E1101 extends D2 {}
1125 class E1102 extends D1 {}
1126 class E1103 extends D2 {}
1127 class E1104 extends D1 {}
1128 class E1105 extends D2 {}
1129 class E1106 extends D1 {}
1130 class E1107 extends D2 {}
1131 class E1108 extends D1 {}
1132 class E1109 extends D2 {}
1133 class E1110 extends D1 {}
1134 class E1111 extends D2 {}
1135 class E1112 extends D1 {}
1136 class E1113 extends D2 {}
1137 class E1114 extends D1 {}
1138 class E1115 extends D2 {}
1139 class E1116 extends D1 {}
1140 class E1117 extends D2 {}
1141 class E1118 extends D1 {}
1142 class E1119 extends D2 {}
1143 class E1120 extends D1 {}
1144 class E1121 extends D2 {}
1145 class E1122 extends D1 {}
1146 class E1123 extends D2 {}
1147 class E1124 extends D1 {}
1148 class E1125 extends D2 {}
1149 class E1126 extends D1 {}
1150 class E1127 extends D2 {}
1151 class E1128 extends D1 {}
1152 class E1129 extends D2 {}
1153 class E1130 extends D1 {}
1154 class E1131 extends D2 {}
1155 class E1132 extends D1 {}
1156 class E1133 extends D2 {}
1157 class E1134 extends D1 {}
1158 class E1135 extends D2 {}
1159 class E1136 extends D1 {}
1160 class E1137 extends D2 {}
1161 class E1138 extends D1 {}
1162 class E1139 extends D2 {}
1163 class E1140 extends D1 {}
1164 class E1141 extends D2 {}
1165 class E1142 extends D1 {}
1166 class E1143 extends D2 {}
1167 class E1144 extends D1 {}
1168 class E1145 extends D2 {}
1169 class E1146 extends D1 {}
1170 class E1147 extends D2 {}
1171 class E1148 extends D1 {}
1172 class E1149 extends D2 {}
1173 class E1150 extends D1 {}
1174 class E1151 extends D2 {}
1175 class E1152 extends D1 {}
1176 class E1153 extends D2 {}
1177 class E1154 extends D1 {}
1178 class E1155 extends D2 {}
1179 class E1156 extends D1 {}
1180 class E1157 extends D2 {}
1181 class E1158 extends D1 {}
1182 class E1159 extends D2 {}
1183 class E1160 extends D1 {}
1184 class E1161 extends D2 {}
1185 class E1162 extends D1 {}
1186 class E1163 extends D2 {}
1187 class E1164 extends D1 {}
1188 class E1165 extends D2 {}
1189 class E1166 extends D1 {}
1190 class E1167 extends D2 {}
1191 class E1168 extends D1 {}
1192 class E1169 extends D2 {}
1193 class E1170 extends D1 {}
1194 class E1171 extends D2 {}
1195 class E1172 extends D1 {}
1196 class E1173 extends D2 {}
1197 class E1174 extends D1 {}
1198 class E1175 extends D2 {}
1199 class E1176 extends D1 {}
1200 class E1177 extends D2 {}
1201 class E1178 extends D1 {}
1202 class E1179 extends D2 {}
1203 class E1180 extends D1 {}
1204 class E1181 extends D2 {}
1205 class E1182 extends D1 {}
1206 class E1183 extends D2 {}
1207 class E1184 extends D1 {}
1208 class E1185 extends D2 {}
1209 class E1186 extends D1 {}
1210 class E1187 extends D2 {}
1211 class E1188 extends D1 {}
1212 class E1189 extends D2 {}
1213 class E1190 extends D1 {}
1214 class E1191 extends D2 {}
1215 class E1192 extends D1 {}
1216 class E1193 extends D2 {}
1217 class E1194 extends D1 {}
1218 class E1195 extends D2 {}
1219 class E1196 extends D1 {}
1220 class E1197 extends D2 {}
1221 class E1198 extends D1 {}
1222 class E1199 extends D2 {}
1223 class E1200 extends D1 {}
1224 class F1 extends E1199 {}
1225 class F2 extends E1199 {}
1226 class F3 extends E1200 {}
1227 
1228 // Classes that are not referenced directly are required in order
1229 // to force their parent's class SubtypeCheck status into Assigned|Overflowed.
1230 //
1231 // TODO: manually initialize every (leaf) class to ensure SubtypeCheck are Assigned.
1232 
1233 public class Main {
main(String[] args)1234   public static void main(String[] args) {
1235     String yes = "Yes";
1236     String no = "No";
1237 
1238     A a = new A();
1239     A c1 = new C1();
1240     A c2 = new C2();
1241     A e1 = new E1199();
1242     A e2 = new E1200();
1243     A f1 = new F1();
1244     A f2 = new F3();
1245 
1246     expectTrue(f1 instanceof E1199);
1247     expectFalse(f1 instanceof E1200);
1248     expectFalse(f2 instanceof E1199);
1249     expectTrue(f2 instanceof E1200);
1250 
1251     expectFalse(e1 instanceof F1);
1252     expectFalse(e1 instanceof F3);
1253     expectFalse(e2 instanceof F1);
1254     expectFalse(e2 instanceof F3);
1255 
1256     expectFalse(e1 instanceof C1);
1257     expectTrue(e2 instanceof C1);
1258     expectTrue(e1 instanceof C2);
1259     expectFalse(e2 instanceof C2);
1260 
1261     expectFalse(c1 instanceof F1);
1262     expectFalse(c1 instanceof F3);
1263     expectFalse(c2 instanceof F1);
1264     expectFalse(c2 instanceof F3);
1265 
1266     System.out.println("passed");
1267   }
1268 
expectTrue(boolean value)1269   private static void expectTrue(boolean value) {
1270     if (!value) {
1271       throw new Error("Expected True");
1272     }
1273   }
1274 
expectFalse(boolean value)1275   private static void expectFalse(boolean value) {
1276     if (value) {
1277       throw new Error("Expected False");
1278     }
1279   }
1280 }
1281