1--TEST--
2Test strspn() function : usage variations - with varying start and len args
3--FILE--
4<?php
5/*
6* Testing strspn() : with varying start and len arguments
7*/
8
9echo "*** Testing strspn() : with different start and len values ***\n";
10
11// initialing required variables
12// defining different strings
13$strings = array(
14                   "",
15           '',
16           "\n",
17           '\n',
18           "hello\tworld\nhello\nworld\n",
19           "1234hello45world\t123",
20           "hello\0world\012",
21           chr(0).chr(0),
22           chr(0)."hello\0world".chr(0),
23           "hello".chr(0)."world",
24           "hello\0\100\xaaaworld",
25                   );
26
27// define the array of mask strings
28$mask_array = array(
29            "",
30            '',
31            "f\n\trelshti \l",
32            'f\n\trelsthi \l',
33            "\telh",
34            "felh\t\ ",
35                    "fhel\t\i\100\xa"
36                   );
37
38// defining the array for start values
39$start_array = array(
40            0,
41            1,
42            2,
43            -1,
44            2147483647,  // max positive integer
45            -2147483648,  // min negative integer
46                   );
47
48// defining an array of len values
49$len_array = array(
50            0,
51            1,
52            2,
53            -1,
54            2147483647,  // max positive integer
55            -2147483648,  // min negative integer
56                   );
57
58
59// loop through each element of the array for len argument
60$count = 1;
61foreach($strings as $str) {
62  echo "\n-- Iteration $count --\n";
63  foreach($mask_array as $mask) {
64    foreach($start_array as $start) {
65      foreach($len_array as $len) {
66        var_dump( strspn($str,$mask,$start,$len) );
67      }
68    }
69  }
70  $count++;
71}
72
73echo "Done"
74?>
75--EXPECT--
76*** Testing strspn() : with different start and len values ***
77
78-- Iteration 1 --
79int(0)
80int(0)
81int(0)
82int(0)
83int(0)
84int(0)
85int(0)
86int(0)
87int(0)
88int(0)
89int(0)
90int(0)
91int(0)
92int(0)
93int(0)
94int(0)
95int(0)
96int(0)
97int(0)
98int(0)
99int(0)
100int(0)
101int(0)
102int(0)
103int(0)
104int(0)
105int(0)
106int(0)
107int(0)
108int(0)
109int(0)
110int(0)
111int(0)
112int(0)
113int(0)
114int(0)
115int(0)
116int(0)
117int(0)
118int(0)
119int(0)
120int(0)
121int(0)
122int(0)
123int(0)
124int(0)
125int(0)
126int(0)
127int(0)
128int(0)
129int(0)
130int(0)
131int(0)
132int(0)
133int(0)
134int(0)
135int(0)
136int(0)
137int(0)
138int(0)
139int(0)
140int(0)
141int(0)
142int(0)
143int(0)
144int(0)
145int(0)
146int(0)
147int(0)
148int(0)
149int(0)
150int(0)
151int(0)
152int(0)
153int(0)
154int(0)
155int(0)
156int(0)
157int(0)
158int(0)
159int(0)
160int(0)
161int(0)
162int(0)
163int(0)
164int(0)
165int(0)
166int(0)
167int(0)
168int(0)
169int(0)
170int(0)
171int(0)
172int(0)
173int(0)
174int(0)
175int(0)
176int(0)
177int(0)
178int(0)
179int(0)
180int(0)
181int(0)
182int(0)
183int(0)
184int(0)
185int(0)
186int(0)
187int(0)
188int(0)
189int(0)
190int(0)
191int(0)
192int(0)
193int(0)
194int(0)
195int(0)
196int(0)
197int(0)
198int(0)
199int(0)
200int(0)
201int(0)
202int(0)
203int(0)
204int(0)
205int(0)
206int(0)
207int(0)
208int(0)
209int(0)
210int(0)
211int(0)
212int(0)
213int(0)
214int(0)
215int(0)
216int(0)
217int(0)
218int(0)
219int(0)
220int(0)
221int(0)
222int(0)
223int(0)
224int(0)
225int(0)
226int(0)
227int(0)
228int(0)
229int(0)
230int(0)
231int(0)
232int(0)
233int(0)
234int(0)
235int(0)
236int(0)
237int(0)
238int(0)
239int(0)
240int(0)
241int(0)
242int(0)
243int(0)
244int(0)
245int(0)
246int(0)
247int(0)
248int(0)
249int(0)
250int(0)
251int(0)
252int(0)
253int(0)
254int(0)
255int(0)
256int(0)
257int(0)
258int(0)
259int(0)
260int(0)
261int(0)
262int(0)
263int(0)
264int(0)
265int(0)
266int(0)
267int(0)
268int(0)
269int(0)
270int(0)
271int(0)
272int(0)
273int(0)
274int(0)
275int(0)
276int(0)
277int(0)
278int(0)
279int(0)
280int(0)
281int(0)
282int(0)
283int(0)
284int(0)
285int(0)
286int(0)
287int(0)
288int(0)
289int(0)
290int(0)
291int(0)
292int(0)
293int(0)
294int(0)
295int(0)
296int(0)
297int(0)
298int(0)
299int(0)
300int(0)
301int(0)
302int(0)
303int(0)
304int(0)
305int(0)
306int(0)
307int(0)
308int(0)
309int(0)
310int(0)
311int(0)
312int(0)
313int(0)
314int(0)
315int(0)
316int(0)
317int(0)
318int(0)
319int(0)
320int(0)
321int(0)
322int(0)
323int(0)
324int(0)
325int(0)
326int(0)
327int(0)
328int(0)
329int(0)
330int(0)
331
332-- Iteration 2 --
333int(0)
334int(0)
335int(0)
336int(0)
337int(0)
338int(0)
339int(0)
340int(0)
341int(0)
342int(0)
343int(0)
344int(0)
345int(0)
346int(0)
347int(0)
348int(0)
349int(0)
350int(0)
351int(0)
352int(0)
353int(0)
354int(0)
355int(0)
356int(0)
357int(0)
358int(0)
359int(0)
360int(0)
361int(0)
362int(0)
363int(0)
364int(0)
365int(0)
366int(0)
367int(0)
368int(0)
369int(0)
370int(0)
371int(0)
372int(0)
373int(0)
374int(0)
375int(0)
376int(0)
377int(0)
378int(0)
379int(0)
380int(0)
381int(0)
382int(0)
383int(0)
384int(0)
385int(0)
386int(0)
387int(0)
388int(0)
389int(0)
390int(0)
391int(0)
392int(0)
393int(0)
394int(0)
395int(0)
396int(0)
397int(0)
398int(0)
399int(0)
400int(0)
401int(0)
402int(0)
403int(0)
404int(0)
405int(0)
406int(0)
407int(0)
408int(0)
409int(0)
410int(0)
411int(0)
412int(0)
413int(0)
414int(0)
415int(0)
416int(0)
417int(0)
418int(0)
419int(0)
420int(0)
421int(0)
422int(0)
423int(0)
424int(0)
425int(0)
426int(0)
427int(0)
428int(0)
429int(0)
430int(0)
431int(0)
432int(0)
433int(0)
434int(0)
435int(0)
436int(0)
437int(0)
438int(0)
439int(0)
440int(0)
441int(0)
442int(0)
443int(0)
444int(0)
445int(0)
446int(0)
447int(0)
448int(0)
449int(0)
450int(0)
451int(0)
452int(0)
453int(0)
454int(0)
455int(0)
456int(0)
457int(0)
458int(0)
459int(0)
460int(0)
461int(0)
462int(0)
463int(0)
464int(0)
465int(0)
466int(0)
467int(0)
468int(0)
469int(0)
470int(0)
471int(0)
472int(0)
473int(0)
474int(0)
475int(0)
476int(0)
477int(0)
478int(0)
479int(0)
480int(0)
481int(0)
482int(0)
483int(0)
484int(0)
485int(0)
486int(0)
487int(0)
488int(0)
489int(0)
490int(0)
491int(0)
492int(0)
493int(0)
494int(0)
495int(0)
496int(0)
497int(0)
498int(0)
499int(0)
500int(0)
501int(0)
502int(0)
503int(0)
504int(0)
505int(0)
506int(0)
507int(0)
508int(0)
509int(0)
510int(0)
511int(0)
512int(0)
513int(0)
514int(0)
515int(0)
516int(0)
517int(0)
518int(0)
519int(0)
520int(0)
521int(0)
522int(0)
523int(0)
524int(0)
525int(0)
526int(0)
527int(0)
528int(0)
529int(0)
530int(0)
531int(0)
532int(0)
533int(0)
534int(0)
535int(0)
536int(0)
537int(0)
538int(0)
539int(0)
540int(0)
541int(0)
542int(0)
543int(0)
544int(0)
545int(0)
546int(0)
547int(0)
548int(0)
549int(0)
550int(0)
551int(0)
552int(0)
553int(0)
554int(0)
555int(0)
556int(0)
557int(0)
558int(0)
559int(0)
560int(0)
561int(0)
562int(0)
563int(0)
564int(0)
565int(0)
566int(0)
567int(0)
568int(0)
569int(0)
570int(0)
571int(0)
572int(0)
573int(0)
574int(0)
575int(0)
576int(0)
577int(0)
578int(0)
579int(0)
580int(0)
581int(0)
582int(0)
583int(0)
584int(0)
585
586-- Iteration 3 --
587int(0)
588int(0)
589int(0)
590int(0)
591int(0)
592int(0)
593int(0)
594int(0)
595int(0)
596int(0)
597int(0)
598int(0)
599int(0)
600int(0)
601int(0)
602int(0)
603int(0)
604int(0)
605int(0)
606int(0)
607int(0)
608int(0)
609int(0)
610int(0)
611int(0)
612int(0)
613int(0)
614int(0)
615int(0)
616int(0)
617int(0)
618int(0)
619int(0)
620int(0)
621int(0)
622int(0)
623int(0)
624int(0)
625int(0)
626int(0)
627int(0)
628int(0)
629int(0)
630int(0)
631int(0)
632int(0)
633int(0)
634int(0)
635int(0)
636int(0)
637int(0)
638int(0)
639int(0)
640int(0)
641int(0)
642int(0)
643int(0)
644int(0)
645int(0)
646int(0)
647int(0)
648int(0)
649int(0)
650int(0)
651int(0)
652int(0)
653int(0)
654int(0)
655int(0)
656int(0)
657int(0)
658int(0)
659int(0)
660int(1)
661int(1)
662int(0)
663int(1)
664int(0)
665int(0)
666int(0)
667int(0)
668int(0)
669int(0)
670int(0)
671int(0)
672int(0)
673int(0)
674int(0)
675int(0)
676int(0)
677int(0)
678int(1)
679int(1)
680int(0)
681int(1)
682int(0)
683int(0)
684int(0)
685int(0)
686int(0)
687int(0)
688int(0)
689int(0)
690int(1)
691int(1)
692int(0)
693int(1)
694int(0)
695int(0)
696int(0)
697int(0)
698int(0)
699int(0)
700int(0)
701int(0)
702int(0)
703int(0)
704int(0)
705int(0)
706int(0)
707int(0)
708int(0)
709int(0)
710int(0)
711int(0)
712int(0)
713int(0)
714int(0)
715int(0)
716int(0)
717int(0)
718int(0)
719int(0)
720int(0)
721int(0)
722int(0)
723int(0)
724int(0)
725int(0)
726int(0)
727int(0)
728int(0)
729int(0)
730int(0)
731int(0)
732int(0)
733int(0)
734int(0)
735int(0)
736int(0)
737int(0)
738int(0)
739int(0)
740int(0)
741int(0)
742int(0)
743int(0)
744int(0)
745int(0)
746int(0)
747int(0)
748int(0)
749int(0)
750int(0)
751int(0)
752int(0)
753int(0)
754int(0)
755int(0)
756int(0)
757int(0)
758int(0)
759int(0)
760int(0)
761int(0)
762int(0)
763int(0)
764int(0)
765int(0)
766int(0)
767int(0)
768int(0)
769int(0)
770int(0)
771int(0)
772int(0)
773int(0)
774int(0)
775int(0)
776int(0)
777int(0)
778int(0)
779int(0)
780int(0)
781int(0)
782int(0)
783int(0)
784int(0)
785int(0)
786int(0)
787int(0)
788int(0)
789int(0)
790int(0)
791int(0)
792int(0)
793int(0)
794int(0)
795int(0)
796int(0)
797int(0)
798int(0)
799int(0)
800int(0)
801int(0)
802int(0)
803int(0)
804int(1)
805int(1)
806int(0)
807int(1)
808int(0)
809int(0)
810int(0)
811int(0)
812int(0)
813int(0)
814int(0)
815int(0)
816int(0)
817int(0)
818int(0)
819int(0)
820int(0)
821int(0)
822int(1)
823int(1)
824int(0)
825int(1)
826int(0)
827int(0)
828int(0)
829int(0)
830int(0)
831int(0)
832int(0)
833int(0)
834int(1)
835int(1)
836int(0)
837int(1)
838int(0)
839
840-- Iteration 4 --
841int(0)
842int(0)
843int(0)
844int(0)
845int(0)
846int(0)
847int(0)
848int(0)
849int(0)
850int(0)
851int(0)
852int(0)
853int(0)
854int(0)
855int(0)
856int(0)
857int(0)
858int(0)
859int(0)
860int(0)
861int(0)
862int(0)
863int(0)
864int(0)
865int(0)
866int(0)
867int(0)
868int(0)
869int(0)
870int(0)
871int(0)
872int(0)
873int(0)
874int(0)
875int(0)
876int(0)
877int(0)
878int(0)
879int(0)
880int(0)
881int(0)
882int(0)
883int(0)
884int(0)
885int(0)
886int(0)
887int(0)
888int(0)
889int(0)
890int(0)
891int(0)
892int(0)
893int(0)
894int(0)
895int(0)
896int(0)
897int(0)
898int(0)
899int(0)
900int(0)
901int(0)
902int(0)
903int(0)
904int(0)
905int(0)
906int(0)
907int(0)
908int(0)
909int(0)
910int(0)
911int(0)
912int(0)
913int(0)
914int(1)
915int(1)
916int(1)
917int(1)
918int(0)
919int(0)
920int(0)
921int(0)
922int(0)
923int(0)
924int(0)
925int(0)
926int(0)
927int(0)
928int(0)
929int(0)
930int(0)
931int(0)
932int(0)
933int(0)
934int(0)
935int(0)
936int(0)
937int(0)
938int(0)
939int(0)
940int(0)
941int(0)
942int(0)
943int(0)
944int(1)
945int(1)
946int(1)
947int(1)
948int(0)
949int(0)
950int(1)
951int(2)
952int(1)
953int(2)
954int(0)
955int(0)
956int(1)
957int(1)
958int(0)
959int(1)
960int(0)
961int(0)
962int(0)
963int(0)
964int(0)
965int(0)
966int(0)
967int(0)
968int(1)
969int(1)
970int(0)
971int(1)
972int(0)
973int(0)
974int(0)
975int(0)
976int(0)
977int(0)
978int(0)
979int(0)
980int(1)
981int(2)
982int(1)
983int(2)
984int(0)
985int(0)
986int(0)
987int(0)
988int(0)
989int(0)
990int(0)
991int(0)
992int(0)
993int(0)
994int(0)
995int(0)
996int(0)
997int(0)
998int(0)
999int(0)
1000int(0)
1001int(0)
1002int(0)
1003int(0)
1004int(0)
1005int(0)
1006int(0)
1007int(0)
1008int(0)
1009int(0)
1010int(0)
1011int(0)
1012int(0)
1013int(0)
1014int(0)
1015int(0)
1016int(0)
1017int(0)
1018int(0)
1019int(0)
1020int(0)
1021int(0)
1022int(1)
1023int(1)
1024int(1)
1025int(1)
1026int(0)
1027int(0)
1028int(0)
1029int(0)
1030int(0)
1031int(0)
1032int(0)
1033int(0)
1034int(0)
1035int(0)
1036int(0)
1037int(0)
1038int(0)
1039int(0)
1040int(0)
1041int(0)
1042int(0)
1043int(0)
1044int(0)
1045int(0)
1046int(0)
1047int(0)
1048int(0)
1049int(0)
1050int(0)
1051int(0)
1052int(1)
1053int(1)
1054int(1)
1055int(1)
1056int(0)
1057int(0)
1058int(1)
1059int(1)
1060int(1)
1061int(1)
1062int(0)
1063int(0)
1064int(0)
1065int(0)
1066int(0)
1067int(0)
1068int(0)
1069int(0)
1070int(0)
1071int(0)
1072int(0)
1073int(0)
1074int(0)
1075int(0)
1076int(0)
1077int(0)
1078int(0)
1079int(0)
1080int(0)
1081int(0)
1082int(0)
1083int(0)
1084int(0)
1085int(0)
1086int(0)
1087int(0)
1088int(1)
1089int(1)
1090int(1)
1091int(1)
1092int(0)
1093
1094-- Iteration 5 --
1095int(0)
1096int(0)
1097int(0)
1098int(0)
1099int(0)
1100int(0)
1101int(0)
1102int(0)
1103int(0)
1104int(0)
1105int(0)
1106int(0)
1107int(0)
1108int(0)
1109int(0)
1110int(0)
1111int(0)
1112int(0)
1113int(0)
1114int(0)
1115int(0)
1116int(0)
1117int(0)
1118int(0)
1119int(0)
1120int(0)
1121int(0)
1122int(0)
1123int(0)
1124int(0)
1125int(0)
1126int(0)
1127int(0)
1128int(0)
1129int(0)
1130int(0)
1131int(0)
1132int(0)
1133int(0)
1134int(0)
1135int(0)
1136int(0)
1137int(0)
1138int(0)
1139int(0)
1140int(0)
1141int(0)
1142int(0)
1143int(0)
1144int(0)
1145int(0)
1146int(0)
1147int(0)
1148int(0)
1149int(0)
1150int(0)
1151int(0)
1152int(0)
1153int(0)
1154int(0)
1155int(0)
1156int(0)
1157int(0)
1158int(0)
1159int(0)
1160int(0)
1161int(0)
1162int(0)
1163int(0)
1164int(0)
1165int(0)
1166int(0)
1167int(0)
1168int(1)
1169int(2)
1170int(4)
1171int(4)
1172int(0)
1173int(0)
1174int(1)
1175int(2)
1176int(3)
1177int(3)
1178int(0)
1179int(0)
1180int(1)
1181int(2)
1182int(2)
1183int(2)
1184int(0)
1185int(0)
1186int(1)
1187int(1)
1188int(0)
1189int(1)
1190int(0)
1191int(0)
1192int(0)
1193int(0)
1194int(0)
1195int(0)
1196int(0)
1197int(0)
1198int(1)
1199int(2)
1200int(4)
1201int(4)
1202int(0)
1203int(0)
1204int(1)
1205int(2)
1206int(4)
1207int(4)
1208int(0)
1209int(0)
1210int(1)
1211int(2)
1212int(3)
1213int(3)
1214int(0)
1215int(0)
1216int(1)
1217int(2)
1218int(2)
1219int(2)
1220int(0)
1221int(0)
1222int(0)
1223int(0)
1224int(0)
1225int(0)
1226int(0)
1227int(0)
1228int(0)
1229int(0)
1230int(0)
1231int(0)
1232int(0)
1233int(0)
1234int(1)
1235int(2)
1236int(4)
1237int(4)
1238int(0)
1239int(0)
1240int(1)
1241int(2)
1242int(4)
1243int(4)
1244int(0)
1245int(0)
1246int(1)
1247int(2)
1248int(3)
1249int(3)
1250int(0)
1251int(0)
1252int(1)
1253int(2)
1254int(2)
1255int(2)
1256int(0)
1257int(0)
1258int(0)
1259int(0)
1260int(0)
1261int(0)
1262int(0)
1263int(0)
1264int(0)
1265int(0)
1266int(0)
1267int(0)
1268int(0)
1269int(0)
1270int(1)
1271int(2)
1272int(4)
1273int(4)
1274int(0)
1275int(0)
1276int(1)
1277int(2)
1278int(4)
1279int(4)
1280int(0)
1281int(0)
1282int(1)
1283int(2)
1284int(3)
1285int(3)
1286int(0)
1287int(0)
1288int(1)
1289int(2)
1290int(2)
1291int(2)
1292int(0)
1293int(0)
1294int(0)
1295int(0)
1296int(0)
1297int(0)
1298int(0)
1299int(0)
1300int(0)
1301int(0)
1302int(0)
1303int(0)
1304int(0)
1305int(0)
1306int(1)
1307int(2)
1308int(4)
1309int(4)
1310int(0)
1311int(0)
1312int(1)
1313int(2)
1314int(4)
1315int(4)
1316int(0)
1317int(0)
1318int(1)
1319int(2)
1320int(3)
1321int(3)
1322int(0)
1323int(0)
1324int(1)
1325int(2)
1326int(2)
1327int(2)
1328int(0)
1329int(0)
1330int(1)
1331int(1)
1332int(0)
1333int(1)
1334int(0)
1335int(0)
1336int(0)
1337int(0)
1338int(0)
1339int(0)
1340int(0)
1341int(0)
1342int(1)
1343int(2)
1344int(4)
1345int(4)
1346int(0)
1347
1348-- Iteration 6 --
1349int(0)
1350int(0)
1351int(0)
1352int(0)
1353int(0)
1354int(0)
1355int(0)
1356int(0)
1357int(0)
1358int(0)
1359int(0)
1360int(0)
1361int(0)
1362int(0)
1363int(0)
1364int(0)
1365int(0)
1366int(0)
1367int(0)
1368int(0)
1369int(0)
1370int(0)
1371int(0)
1372int(0)
1373int(0)
1374int(0)
1375int(0)
1376int(0)
1377int(0)
1378int(0)
1379int(0)
1380int(0)
1381int(0)
1382int(0)
1383int(0)
1384int(0)
1385int(0)
1386int(0)
1387int(0)
1388int(0)
1389int(0)
1390int(0)
1391int(0)
1392int(0)
1393int(0)
1394int(0)
1395int(0)
1396int(0)
1397int(0)
1398int(0)
1399int(0)
1400int(0)
1401int(0)
1402int(0)
1403int(0)
1404int(0)
1405int(0)
1406int(0)
1407int(0)
1408int(0)
1409int(0)
1410int(0)
1411int(0)
1412int(0)
1413int(0)
1414int(0)
1415int(0)
1416int(0)
1417int(0)
1418int(0)
1419int(0)
1420int(0)
1421int(0)
1422int(0)
1423int(0)
1424int(0)
1425int(0)
1426int(0)
1427int(0)
1428int(0)
1429int(0)
1430int(0)
1431int(0)
1432int(0)
1433int(0)
1434int(0)
1435int(0)
1436int(0)
1437int(0)
1438int(0)
1439int(0)
1440int(0)
1441int(0)
1442int(0)
1443int(0)
1444int(0)
1445int(0)
1446int(0)
1447int(0)
1448int(0)
1449int(0)
1450int(0)
1451int(0)
1452int(0)
1453int(0)
1454int(0)
1455int(0)
1456int(0)
1457int(0)
1458int(0)
1459int(0)
1460int(0)
1461int(0)
1462int(0)
1463int(0)
1464int(0)
1465int(0)
1466int(0)
1467int(0)
1468int(0)
1469int(0)
1470int(0)
1471int(0)
1472int(0)
1473int(0)
1474int(0)
1475int(0)
1476int(0)
1477int(0)
1478int(0)
1479int(0)
1480int(0)
1481int(0)
1482int(0)
1483int(0)
1484int(0)
1485int(0)
1486int(0)
1487int(0)
1488int(0)
1489int(0)
1490int(0)
1491int(0)
1492int(0)
1493int(0)
1494int(0)
1495int(0)
1496int(0)
1497int(0)
1498int(0)
1499int(0)
1500int(0)
1501int(0)
1502int(0)
1503int(0)
1504int(0)
1505int(0)
1506int(0)
1507int(0)
1508int(0)
1509int(0)
1510int(0)
1511int(0)
1512int(0)
1513int(0)
1514int(0)
1515int(0)
1516int(0)
1517int(0)
1518int(0)
1519int(0)
1520int(0)
1521int(0)
1522int(0)
1523int(0)
1524int(0)
1525int(0)
1526int(0)
1527int(0)
1528int(0)
1529int(0)
1530int(0)
1531int(0)
1532int(0)
1533int(0)
1534int(0)
1535int(0)
1536int(0)
1537int(0)
1538int(0)
1539int(0)
1540int(0)
1541int(0)
1542int(0)
1543int(0)
1544int(0)
1545int(0)
1546int(0)
1547int(0)
1548int(0)
1549int(0)
1550int(0)
1551int(0)
1552int(0)
1553int(0)
1554int(0)
1555int(0)
1556int(0)
1557int(0)
1558int(0)
1559int(0)
1560int(0)
1561int(0)
1562int(0)
1563int(0)
1564int(0)
1565int(0)
1566int(0)
1567int(0)
1568int(0)
1569int(0)
1570int(0)
1571int(0)
1572int(0)
1573int(0)
1574int(0)
1575int(0)
1576int(0)
1577int(0)
1578int(0)
1579int(0)
1580int(0)
1581int(0)
1582int(0)
1583int(0)
1584int(0)
1585int(0)
1586int(0)
1587int(0)
1588int(0)
1589int(0)
1590int(0)
1591int(0)
1592int(0)
1593int(0)
1594int(0)
1595int(0)
1596int(0)
1597int(0)
1598int(0)
1599int(0)
1600int(0)
1601
1602-- Iteration 7 --
1603int(0)
1604int(0)
1605int(0)
1606int(0)
1607int(0)
1608int(0)
1609int(0)
1610int(0)
1611int(0)
1612int(0)
1613int(0)
1614int(0)
1615int(0)
1616int(0)
1617int(0)
1618int(0)
1619int(0)
1620int(0)
1621int(0)
1622int(0)
1623int(0)
1624int(0)
1625int(0)
1626int(0)
1627int(0)
1628int(0)
1629int(0)
1630int(0)
1631int(0)
1632int(0)
1633int(0)
1634int(0)
1635int(0)
1636int(0)
1637int(0)
1638int(0)
1639int(0)
1640int(0)
1641int(0)
1642int(0)
1643int(0)
1644int(0)
1645int(0)
1646int(0)
1647int(0)
1648int(0)
1649int(0)
1650int(0)
1651int(0)
1652int(0)
1653int(0)
1654int(0)
1655int(0)
1656int(0)
1657int(0)
1658int(0)
1659int(0)
1660int(0)
1661int(0)
1662int(0)
1663int(0)
1664int(0)
1665int(0)
1666int(0)
1667int(0)
1668int(0)
1669int(0)
1670int(0)
1671int(0)
1672int(0)
1673int(0)
1674int(0)
1675int(0)
1676int(1)
1677int(2)
1678int(4)
1679int(4)
1680int(0)
1681int(0)
1682int(1)
1683int(2)
1684int(3)
1685int(3)
1686int(0)
1687int(0)
1688int(1)
1689int(2)
1690int(2)
1691int(2)
1692int(0)
1693int(0)
1694int(1)
1695int(1)
1696int(0)
1697int(1)
1698int(0)
1699int(0)
1700int(0)
1701int(0)
1702int(0)
1703int(0)
1704int(0)
1705int(0)
1706int(1)
1707int(2)
1708int(4)
1709int(4)
1710int(0)
1711int(0)
1712int(1)
1713int(2)
1714int(4)
1715int(4)
1716int(0)
1717int(0)
1718int(1)
1719int(2)
1720int(3)
1721int(3)
1722int(0)
1723int(0)
1724int(1)
1725int(2)
1726int(2)
1727int(2)
1728int(0)
1729int(0)
1730int(0)
1731int(0)
1732int(0)
1733int(0)
1734int(0)
1735int(0)
1736int(0)
1737int(0)
1738int(0)
1739int(0)
1740int(0)
1741int(0)
1742int(1)
1743int(2)
1744int(4)
1745int(4)
1746int(0)
1747int(0)
1748int(1)
1749int(2)
1750int(4)
1751int(4)
1752int(0)
1753int(0)
1754int(1)
1755int(2)
1756int(3)
1757int(3)
1758int(0)
1759int(0)
1760int(1)
1761int(2)
1762int(2)
1763int(2)
1764int(0)
1765int(0)
1766int(0)
1767int(0)
1768int(0)
1769int(0)
1770int(0)
1771int(0)
1772int(0)
1773int(0)
1774int(0)
1775int(0)
1776int(0)
1777int(0)
1778int(1)
1779int(2)
1780int(4)
1781int(4)
1782int(0)
1783int(0)
1784int(1)
1785int(2)
1786int(4)
1787int(4)
1788int(0)
1789int(0)
1790int(1)
1791int(2)
1792int(3)
1793int(3)
1794int(0)
1795int(0)
1796int(1)
1797int(2)
1798int(2)
1799int(2)
1800int(0)
1801int(0)
1802int(0)
1803int(0)
1804int(0)
1805int(0)
1806int(0)
1807int(0)
1808int(0)
1809int(0)
1810int(0)
1811int(0)
1812int(0)
1813int(0)
1814int(1)
1815int(2)
1816int(4)
1817int(4)
1818int(0)
1819int(0)
1820int(1)
1821int(2)
1822int(4)
1823int(4)
1824int(0)
1825int(0)
1826int(1)
1827int(2)
1828int(3)
1829int(3)
1830int(0)
1831int(0)
1832int(1)
1833int(2)
1834int(2)
1835int(2)
1836int(0)
1837int(0)
1838int(1)
1839int(1)
1840int(0)
1841int(1)
1842int(0)
1843int(0)
1844int(0)
1845int(0)
1846int(0)
1847int(0)
1848int(0)
1849int(0)
1850int(1)
1851int(2)
1852int(4)
1853int(4)
1854int(0)
1855
1856-- Iteration 8 --
1857int(0)
1858int(0)
1859int(0)
1860int(0)
1861int(0)
1862int(0)
1863int(0)
1864int(0)
1865int(0)
1866int(0)
1867int(0)
1868int(0)
1869int(0)
1870int(0)
1871int(0)
1872int(0)
1873int(0)
1874int(0)
1875int(0)
1876int(0)
1877int(0)
1878int(0)
1879int(0)
1880int(0)
1881int(0)
1882int(0)
1883int(0)
1884int(0)
1885int(0)
1886int(0)
1887int(0)
1888int(0)
1889int(0)
1890int(0)
1891int(0)
1892int(0)
1893int(0)
1894int(0)
1895int(0)
1896int(0)
1897int(0)
1898int(0)
1899int(0)
1900int(0)
1901int(0)
1902int(0)
1903int(0)
1904int(0)
1905int(0)
1906int(0)
1907int(0)
1908int(0)
1909int(0)
1910int(0)
1911int(0)
1912int(0)
1913int(0)
1914int(0)
1915int(0)
1916int(0)
1917int(0)
1918int(0)
1919int(0)
1920int(0)
1921int(0)
1922int(0)
1923int(0)
1924int(0)
1925int(0)
1926int(0)
1927int(0)
1928int(0)
1929int(0)
1930int(0)
1931int(0)
1932int(0)
1933int(0)
1934int(0)
1935int(0)
1936int(0)
1937int(0)
1938int(0)
1939int(0)
1940int(0)
1941int(0)
1942int(0)
1943int(0)
1944int(0)
1945int(0)
1946int(0)
1947int(0)
1948int(0)
1949int(0)
1950int(0)
1951int(0)
1952int(0)
1953int(0)
1954int(0)
1955int(0)
1956int(0)
1957int(0)
1958int(0)
1959int(0)
1960int(0)
1961int(0)
1962int(0)
1963int(0)
1964int(0)
1965int(0)
1966int(0)
1967int(0)
1968int(0)
1969int(0)
1970int(0)
1971int(0)
1972int(0)
1973int(0)
1974int(0)
1975int(0)
1976int(0)
1977int(0)
1978int(0)
1979int(0)
1980int(0)
1981int(0)
1982int(0)
1983int(0)
1984int(0)
1985int(0)
1986int(0)
1987int(0)
1988int(0)
1989int(0)
1990int(0)
1991int(0)
1992int(0)
1993int(0)
1994int(0)
1995int(0)
1996int(0)
1997int(0)
1998int(0)
1999int(0)
2000int(0)
2001int(0)
2002int(0)
2003int(0)
2004int(0)
2005int(0)
2006int(0)
2007int(0)
2008int(0)
2009int(0)
2010int(0)
2011int(0)
2012int(0)
2013int(0)
2014int(0)
2015int(0)
2016int(0)
2017int(0)
2018int(0)
2019int(0)
2020int(0)
2021int(0)
2022int(0)
2023int(0)
2024int(0)
2025int(0)
2026int(0)
2027int(0)
2028int(0)
2029int(0)
2030int(0)
2031int(0)
2032int(0)
2033int(0)
2034int(0)
2035int(0)
2036int(0)
2037int(0)
2038int(0)
2039int(0)
2040int(0)
2041int(0)
2042int(0)
2043int(0)
2044int(0)
2045int(0)
2046int(0)
2047int(0)
2048int(0)
2049int(0)
2050int(0)
2051int(0)
2052int(0)
2053int(0)
2054int(0)
2055int(0)
2056int(0)
2057int(0)
2058int(0)
2059int(0)
2060int(0)
2061int(0)
2062int(0)
2063int(0)
2064int(0)
2065int(0)
2066int(0)
2067int(0)
2068int(0)
2069int(0)
2070int(0)
2071int(0)
2072int(0)
2073int(0)
2074int(0)
2075int(0)
2076int(0)
2077int(0)
2078int(0)
2079int(0)
2080int(0)
2081int(0)
2082int(0)
2083int(0)
2084int(0)
2085int(0)
2086int(0)
2087int(0)
2088int(0)
2089int(0)
2090int(0)
2091int(0)
2092int(0)
2093int(0)
2094int(0)
2095int(0)
2096int(0)
2097int(0)
2098int(0)
2099int(0)
2100int(0)
2101int(0)
2102int(0)
2103int(0)
2104int(0)
2105int(0)
2106int(0)
2107int(0)
2108int(0)
2109
2110-- Iteration 9 --
2111int(0)
2112int(0)
2113int(0)
2114int(0)
2115int(0)
2116int(0)
2117int(0)
2118int(0)
2119int(0)
2120int(0)
2121int(0)
2122int(0)
2123int(0)
2124int(0)
2125int(0)
2126int(0)
2127int(0)
2128int(0)
2129int(0)
2130int(0)
2131int(0)
2132int(0)
2133int(0)
2134int(0)
2135int(0)
2136int(0)
2137int(0)
2138int(0)
2139int(0)
2140int(0)
2141int(0)
2142int(0)
2143int(0)
2144int(0)
2145int(0)
2146int(0)
2147int(0)
2148int(0)
2149int(0)
2150int(0)
2151int(0)
2152int(0)
2153int(0)
2154int(0)
2155int(0)
2156int(0)
2157int(0)
2158int(0)
2159int(0)
2160int(0)
2161int(0)
2162int(0)
2163int(0)
2164int(0)
2165int(0)
2166int(0)
2167int(0)
2168int(0)
2169int(0)
2170int(0)
2171int(0)
2172int(0)
2173int(0)
2174int(0)
2175int(0)
2176int(0)
2177int(0)
2178int(0)
2179int(0)
2180int(0)
2181int(0)
2182int(0)
2183int(0)
2184int(0)
2185int(0)
2186int(0)
2187int(0)
2188int(0)
2189int(0)
2190int(1)
2191int(2)
2192int(4)
2193int(4)
2194int(0)
2195int(0)
2196int(1)
2197int(2)
2198int(3)
2199int(3)
2200int(0)
2201int(0)
2202int(0)
2203int(0)
2204int(0)
2205int(0)
2206int(0)
2207int(0)
2208int(0)
2209int(0)
2210int(0)
2211int(0)
2212int(0)
2213int(0)
2214int(0)
2215int(0)
2216int(0)
2217int(0)
2218int(0)
2219int(0)
2220int(0)
2221int(0)
2222int(0)
2223int(0)
2224int(0)
2225int(0)
2226int(1)
2227int(2)
2228int(4)
2229int(4)
2230int(0)
2231int(0)
2232int(1)
2233int(2)
2234int(3)
2235int(3)
2236int(0)
2237int(0)
2238int(0)
2239int(0)
2240int(0)
2241int(0)
2242int(0)
2243int(0)
2244int(0)
2245int(0)
2246int(0)
2247int(0)
2248int(0)
2249int(0)
2250int(0)
2251int(0)
2252int(0)
2253int(0)
2254int(0)
2255int(0)
2256int(0)
2257int(0)
2258int(0)
2259int(0)
2260int(0)
2261int(0)
2262int(1)
2263int(2)
2264int(4)
2265int(4)
2266int(0)
2267int(0)
2268int(1)
2269int(2)
2270int(3)
2271int(3)
2272int(0)
2273int(0)
2274int(0)
2275int(0)
2276int(0)
2277int(0)
2278int(0)
2279int(0)
2280int(0)
2281int(0)
2282int(0)
2283int(0)
2284int(0)
2285int(0)
2286int(0)
2287int(0)
2288int(0)
2289int(0)
2290int(0)
2291int(0)
2292int(0)
2293int(0)
2294int(0)
2295int(0)
2296int(0)
2297int(0)
2298int(1)
2299int(2)
2300int(4)
2301int(4)
2302int(0)
2303int(0)
2304int(1)
2305int(2)
2306int(3)
2307int(3)
2308int(0)
2309int(0)
2310int(0)
2311int(0)
2312int(0)
2313int(0)
2314int(0)
2315int(0)
2316int(0)
2317int(0)
2318int(0)
2319int(0)
2320int(0)
2321int(0)
2322int(0)
2323int(0)
2324int(0)
2325int(0)
2326int(0)
2327int(0)
2328int(0)
2329int(0)
2330int(0)
2331int(0)
2332int(0)
2333int(0)
2334int(1)
2335int(2)
2336int(4)
2337int(4)
2338int(0)
2339int(0)
2340int(1)
2341int(2)
2342int(3)
2343int(3)
2344int(0)
2345int(0)
2346int(0)
2347int(0)
2348int(0)
2349int(0)
2350int(0)
2351int(0)
2352int(0)
2353int(0)
2354int(0)
2355int(0)
2356int(0)
2357int(0)
2358int(0)
2359int(0)
2360int(0)
2361int(0)
2362int(0)
2363
2364-- Iteration 10 --
2365int(0)
2366int(0)
2367int(0)
2368int(0)
2369int(0)
2370int(0)
2371int(0)
2372int(0)
2373int(0)
2374int(0)
2375int(0)
2376int(0)
2377int(0)
2378int(0)
2379int(0)
2380int(0)
2381int(0)
2382int(0)
2383int(0)
2384int(0)
2385int(0)
2386int(0)
2387int(0)
2388int(0)
2389int(0)
2390int(0)
2391int(0)
2392int(0)
2393int(0)
2394int(0)
2395int(0)
2396int(0)
2397int(0)
2398int(0)
2399int(0)
2400int(0)
2401int(0)
2402int(0)
2403int(0)
2404int(0)
2405int(0)
2406int(0)
2407int(0)
2408int(0)
2409int(0)
2410int(0)
2411int(0)
2412int(0)
2413int(0)
2414int(0)
2415int(0)
2416int(0)
2417int(0)
2418int(0)
2419int(0)
2420int(0)
2421int(0)
2422int(0)
2423int(0)
2424int(0)
2425int(0)
2426int(0)
2427int(0)
2428int(0)
2429int(0)
2430int(0)
2431int(0)
2432int(0)
2433int(0)
2434int(0)
2435int(0)
2436int(0)
2437int(0)
2438int(1)
2439int(2)
2440int(4)
2441int(4)
2442int(0)
2443int(0)
2444int(1)
2445int(2)
2446int(3)
2447int(3)
2448int(0)
2449int(0)
2450int(1)
2451int(2)
2452int(2)
2453int(2)
2454int(0)
2455int(0)
2456int(0)
2457int(0)
2458int(0)
2459int(0)
2460int(0)
2461int(0)
2462int(0)
2463int(0)
2464int(0)
2465int(0)
2466int(0)
2467int(0)
2468int(1)
2469int(2)
2470int(4)
2471int(4)
2472int(0)
2473int(0)
2474int(1)
2475int(2)
2476int(4)
2477int(4)
2478int(0)
2479int(0)
2480int(1)
2481int(2)
2482int(3)
2483int(3)
2484int(0)
2485int(0)
2486int(1)
2487int(2)
2488int(2)
2489int(2)
2490int(0)
2491int(0)
2492int(0)
2493int(0)
2494int(0)
2495int(0)
2496int(0)
2497int(0)
2498int(0)
2499int(0)
2500int(0)
2501int(0)
2502int(0)
2503int(0)
2504int(1)
2505int(2)
2506int(4)
2507int(4)
2508int(0)
2509int(0)
2510int(1)
2511int(2)
2512int(4)
2513int(4)
2514int(0)
2515int(0)
2516int(1)
2517int(2)
2518int(3)
2519int(3)
2520int(0)
2521int(0)
2522int(1)
2523int(2)
2524int(2)
2525int(2)
2526int(0)
2527int(0)
2528int(0)
2529int(0)
2530int(0)
2531int(0)
2532int(0)
2533int(0)
2534int(0)
2535int(0)
2536int(0)
2537int(0)
2538int(0)
2539int(0)
2540int(1)
2541int(2)
2542int(4)
2543int(4)
2544int(0)
2545int(0)
2546int(1)
2547int(2)
2548int(4)
2549int(4)
2550int(0)
2551int(0)
2552int(1)
2553int(2)
2554int(3)
2555int(3)
2556int(0)
2557int(0)
2558int(1)
2559int(2)
2560int(2)
2561int(2)
2562int(0)
2563int(0)
2564int(0)
2565int(0)
2566int(0)
2567int(0)
2568int(0)
2569int(0)
2570int(0)
2571int(0)
2572int(0)
2573int(0)
2574int(0)
2575int(0)
2576int(1)
2577int(2)
2578int(4)
2579int(4)
2580int(0)
2581int(0)
2582int(1)
2583int(2)
2584int(4)
2585int(4)
2586int(0)
2587int(0)
2588int(1)
2589int(2)
2590int(3)
2591int(3)
2592int(0)
2593int(0)
2594int(1)
2595int(2)
2596int(2)
2597int(2)
2598int(0)
2599int(0)
2600int(0)
2601int(0)
2602int(0)
2603int(0)
2604int(0)
2605int(0)
2606int(0)
2607int(0)
2608int(0)
2609int(0)
2610int(0)
2611int(0)
2612int(1)
2613int(2)
2614int(4)
2615int(4)
2616int(0)
2617
2618-- Iteration 11 --
2619int(0)
2620int(0)
2621int(0)
2622int(0)
2623int(0)
2624int(0)
2625int(0)
2626int(0)
2627int(0)
2628int(0)
2629int(0)
2630int(0)
2631int(0)
2632int(0)
2633int(0)
2634int(0)
2635int(0)
2636int(0)
2637int(0)
2638int(0)
2639int(0)
2640int(0)
2641int(0)
2642int(0)
2643int(0)
2644int(0)
2645int(0)
2646int(0)
2647int(0)
2648int(0)
2649int(0)
2650int(0)
2651int(0)
2652int(0)
2653int(0)
2654int(0)
2655int(0)
2656int(0)
2657int(0)
2658int(0)
2659int(0)
2660int(0)
2661int(0)
2662int(0)
2663int(0)
2664int(0)
2665int(0)
2666int(0)
2667int(0)
2668int(0)
2669int(0)
2670int(0)
2671int(0)
2672int(0)
2673int(0)
2674int(0)
2675int(0)
2676int(0)
2677int(0)
2678int(0)
2679int(0)
2680int(0)
2681int(0)
2682int(0)
2683int(0)
2684int(0)
2685int(0)
2686int(0)
2687int(0)
2688int(0)
2689int(0)
2690int(0)
2691int(0)
2692int(1)
2693int(2)
2694int(4)
2695int(4)
2696int(0)
2697int(0)
2698int(1)
2699int(2)
2700int(3)
2701int(3)
2702int(0)
2703int(0)
2704int(1)
2705int(2)
2706int(2)
2707int(2)
2708int(0)
2709int(0)
2710int(0)
2711int(0)
2712int(0)
2713int(0)
2714int(0)
2715int(0)
2716int(0)
2717int(0)
2718int(0)
2719int(0)
2720int(0)
2721int(0)
2722int(1)
2723int(2)
2724int(4)
2725int(4)
2726int(0)
2727int(0)
2728int(1)
2729int(2)
2730int(4)
2731int(4)
2732int(0)
2733int(0)
2734int(1)
2735int(2)
2736int(3)
2737int(3)
2738int(0)
2739int(0)
2740int(1)
2741int(2)
2742int(2)
2743int(2)
2744int(0)
2745int(0)
2746int(0)
2747int(0)
2748int(0)
2749int(0)
2750int(0)
2751int(0)
2752int(0)
2753int(0)
2754int(0)
2755int(0)
2756int(0)
2757int(0)
2758int(1)
2759int(2)
2760int(4)
2761int(4)
2762int(0)
2763int(0)
2764int(1)
2765int(2)
2766int(4)
2767int(4)
2768int(0)
2769int(0)
2770int(1)
2771int(2)
2772int(3)
2773int(3)
2774int(0)
2775int(0)
2776int(1)
2777int(2)
2778int(2)
2779int(2)
2780int(0)
2781int(0)
2782int(0)
2783int(0)
2784int(0)
2785int(0)
2786int(0)
2787int(0)
2788int(0)
2789int(0)
2790int(0)
2791int(0)
2792int(0)
2793int(0)
2794int(1)
2795int(2)
2796int(4)
2797int(4)
2798int(0)
2799int(0)
2800int(1)
2801int(2)
2802int(4)
2803int(4)
2804int(0)
2805int(0)
2806int(1)
2807int(2)
2808int(3)
2809int(3)
2810int(0)
2811int(0)
2812int(1)
2813int(2)
2814int(2)
2815int(2)
2816int(0)
2817int(0)
2818int(0)
2819int(0)
2820int(0)
2821int(0)
2822int(0)
2823int(0)
2824int(0)
2825int(0)
2826int(0)
2827int(0)
2828int(0)
2829int(0)
2830int(1)
2831int(2)
2832int(4)
2833int(4)
2834int(0)
2835int(0)
2836int(1)
2837int(2)
2838int(4)
2839int(4)
2840int(0)
2841int(0)
2842int(1)
2843int(2)
2844int(3)
2845int(3)
2846int(0)
2847int(0)
2848int(1)
2849int(2)
2850int(2)
2851int(2)
2852int(0)
2853int(0)
2854int(0)
2855int(0)
2856int(0)
2857int(0)
2858int(0)
2859int(0)
2860int(0)
2861int(0)
2862int(0)
2863int(0)
2864int(0)
2865int(0)
2866int(1)
2867int(2)
2868int(4)
2869int(4)
2870int(0)
2871Done
2872