diff --git a/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-1 Shortest COBOL program.cbl b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-1 Shortest COBOL program.cbl new file mode 100644 index 0000000..a844d4d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-1 Shortest COBOL program.cbl @@ -0,0 +1,5 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. ShortestProgram. +PROCEDURE DIVISION. +DisplayPrompt. + DISPLAY "I did it". diff --git a/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-2 The COBOL Greeting program.cbl b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-2 The COBOL Greeting program.cbl new file mode 100644 index 0000000..7a6d50d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-2 The COBOL Greeting program.cbl @@ -0,0 +1,14 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. CobolGreeting. +*>Program to display COBOL greetings +DATA DIVISION. +WORKING-STORAGE SECTION. +01 IterNum PIC 9 VALUE 5. + +PROCEDURE DIVISION. +BeginProgram. + PERFORM DisplayGreeting IterNum TIMES. + STOP RUN. + +DisplayGreeting. + DISPLAY "Greetings from COBOL". diff --git a/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-3 The DoCalc example program.cbl b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-3 The DoCalc example program.cbl new file mode 100644 index 0000000..f41a3f7 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch02/Listing 2-3 The DoCalc example program.cbl @@ -0,0 +1,19 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. DoCalc. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 FirstNum PIC 9 VALUE ZEROS. +01 SecondNum PIC 9 VALUE ZEROS. +01 CalcResult PIC 99 VALUE 0. +01 UserPrompt PIC X(38) VALUE + "Please enter two single digit numbers". +PROCEDURE DIVISION. +CalculateResult. + DISPLAY UserPrompt + ACCEPT FirstNum + ACCEPT SecondNum + COMPUTE CalcResult = FirstNum + SecondNum + DISPLAY "Result is = ", CalcResult + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch04/Listing4-1 AcceptAndDisplayExamples.cbl b/978-1-4302-6253-4_Coughlan_Ch04/Listing4-1 AcceptAndDisplayExamples.cbl new file mode 100644 index 0000000..fa41eee --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch04/Listing4-1 AcceptAndDisplayExamples.cbl @@ -0,0 +1,51 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing4-1. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 UserName PIC X(20). + +*> Receiving data item for DATE system variable: Format is YYMMDD +01 CurrentDate. + 02 CurrentYear PIC 99. + 02 CurrentMonth PIC 99. + 02 CurrentDay PIC 99. + +*> Receiving data item for DAY system variable: Format is YYDDD +01 DayOfYear. + 02 FILLER PIC 99. + 02 YearDay PIC 9(3). + +*> Receiving item for TIME: Format is HHMMSSss s = S/100 +01 CurrentTime. + 02 CurrentHour PIC 99. + 02 CurrentMinute PIC 99. + 02 FILLER PIC 9(4). + +*> Receiving item for DATE YYYYMMDD system variable: Format is YYYYMMDD +01 Y2KDate. + 02 Y2KYear PIC 9(4). + 02 Y2KMonth PIC 99. + 02 Y2KDay PIC 99. + +*> Receiving item for DAY YYYYDDD system variable: Format is YYYYDDD +01 Y2KDayOfYear. + 02 Y2KDOY-Year PIC 9(4). + 02 Y2KDOY-Day PIC 999. +PROCEDURE DIVISION. +Begin. + DISPLAY "Please enter your name - " WITH NO ADVANCING + ACCEPT UserName + DISPLAY "**********************" + ACCEPT CurrentDate FROM DATE + ACCEPT DayOfYear FROM DAY + ACCEPT CurrentTime FROM TIME + ACCEPT Y2KDate FROM DATE YYYYMMDD + ACCEPT Y2KDayOfYear FROM DAY YYYYDDD + DISPLAY "Name is " UserName + DISPLAY "Date is " CurrentDay "-" CurrentMonth "-" CurrentYear + DISPLAY "Today is day " YearDay " of the year" + DISPLAY "The time is " CurrentHour ":" CurrentMinute + DISPLAY "Y2KDate is " Y2kDay SPACE Y2KMonth SPACE Y2KYear + DISPLAY "Y2K Day of Year is " Y2KDoy-Day " of " Y2KDOY-Year + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch04/Listing4-2 Add two numbers.cbl b/978-1-4302-6253-4_Coughlan_Ch04/Listing4-2 Add two numbers.cbl new file mode 100644 index 0000000..38685d6 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch04/Listing4-2 Add two numbers.cbl @@ -0,0 +1,21 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing4-2. +AUTHOR. Michael Coughlan. +*> Accepts two numbers from the user, multiplies them together +*> and then displays the result. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Num1 PIC 9 VALUE 5. +01 Num2 PIC 9 VALUE 4. +01 Result PIC 99 VALUE ZEROS. + +PROCEDURE DIVISION. +CalculateResult. + DISPLAY "Enter a single digit number - " WITH NO ADVANCING + ACCEPT Num1 + DISPLAY "Enter a single digit number - " WITH NO ADVANCING + ACCEPT Num2 + MULTIPLY Num1 BY Num2 GIVING Result + DISPLAY "Result is = ", Result + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-1.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-1.cbl new file mode 100644 index 0000000..6bfadf0 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-1.cbl @@ -0,0 +1,41 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-1. +AUTHOR. Michael Coughlan. +*> Shows how user defined class names are created and used + +ENVIRONMENT DIVISION. +CONFIGURATION SECTION. +SPECIAL-NAMES. + CLASS HexNumber IS "0" THRU "9", "A" THRU "F" + CLASS RealName IS "A" THRU "Z", "a" THRU "z", "'", SPACE. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 NumIn PIC X(4). +01 NameIn PIC X(15). + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter a Hex number - " WITH NO ADVANCING + ACCEPT NumIn. + IF NumIn IS HexNumber THEN + DISPLAY NumIn " is a Hex number" + ELSE + DISPLAY NumIn " is not a Hex number" + END-IF + + DISPLAY "----------------------------------" + DISPLAY "Enter a name - " WITH NO ADVANCING + ACCEPT NameIn + IF NameIn IS ALPHABETIC + DISPLAY NameIn " is alphabetic" + ELSE + DISPLAY NameIn " is not alphabetic" + END-IF + + IF NameIn IS RealName THEN + DISPLAY NameIn " is a real name" + ELSE + DISPLAY NameIn " is not a real name" + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-10.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-10.cbl new file mode 100644 index 0000000..b62a59b --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-10.cbl @@ -0,0 +1,38 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-10. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 PlayerGuess-A PIC 9 VALUE 1. + 88 Rock-A VALUE 1. + 88 Paper-A VALUE 2. + 88 Scissors-A VALUE 3. + +01 PlayerGuess-B PIC 9 VALUE 2. + 88 Rock-B VALUE 1. + 88 Paper-B VALUE 2. + 88 Scissors-B VALUE 3. + +PROCEDURE DIVISION. +BEGIN. + DISPLAY "Guess for player A (1=rock, 2=scissors, 3=paper) : " + WITH NO ADVANCING + ACCEPT PlayerGuess-A + DISPLAY "Guess for player B (1=rock, 2=scissors, 3=paper) : " + WITH NO ADVANCING + ACCEPT PlayerGuess-B + EVALUATE TRUE ALSO TRUE + WHEN Rock-A ALSO Rock-B DISPLAY "Draw" + WHEN Rock-A ALSO Paper-B DISPLAY "Player B wins" + WHEN Rock-A ALSO Scissors-B DISPLAY "Player A wins" + WHEN Paper-A ALSO Rock-B DISPLAY "Player A wins" + WHEN Paper-A ALSO Paper-B DISPLAY "Draw" + WHEN Paper-A ALSO Scissors-B DISPLAY "Player B wins" + WHEN Scissors-A ALSO Rock-B DISPLAY "Player B wins" + WHEN Scissors-A ALSO Paper-B DISPLAY "Player A wins" + WHEN Scissors-A ALSO Scissors-B DISPLAY "Draw" + WHEN OTHER DISPLAY "Evaluate problem" + END-EVALUATE + STOP RUN. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-11.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-11.cbl new file mode 100644 index 0000000..a4385a6 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-11.cbl @@ -0,0 +1,34 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-11. +AUTHOR. Michael Coughlan. +*> Accepts two numbers and an operator from the user. +*> Applies the appropriate operation to the two numbers. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Num1 PIC 9 VALUE 7. +01 Num2 PIC 9 VALUE 3. +01 Result PIC --9.99 VALUE ZEROS. +01 Operator PIC X VALUE "-". + 88 ValidOperator VALUES "*", "+", "-", "/". + + +PROCEDURE DIVISION. +CalculateResult. + DISPLAY "Enter a single digit number : " WITH NO ADVANCING + ACCEPT Num1 + DISPLAY "Enter a single digit number : " WITH NO ADVANCING + ACCEPT Num2 + DISPLAY "Enter the operator to be applied : " WITH NO ADVANCING + ACCEPT Operator + EVALUATE Operator + WHEN "+" ADD Num2 TO Num1 GIVING Result + WHEN "-" SUBTRACT Num2 FROM Num1 GIVING Result + WHEN "*" MULTIPLY Num2 BY Num1 GIVING Result + WHEN "/" DIVIDE Num1 BY Num2 GIVING Result ROUNDED + WHEN OTHER DISPLAY "Invalid operator entered" + END-EVALUATE + IF ValidOperator + DISPLAY "Result is = ", Result + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-2.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-2.cbl new file mode 100644 index 0000000..5d52cdc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-2.cbl @@ -0,0 +1,33 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-2. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CityCode PIC 9 VALUE ZERO. + 88 CityIsDublin VALUE 1. + 88 CityIsLimerick VALUE 2. + 88 CityIsCork VALUE 3. + 88 CityIsGalway VALUE 4. + 88 CityIsSligo VALUE 5. + 88 CityIsWaterford VALUE 6. + 88 UniversityCity VALUE 1 THRU 4. + 88 CityCodeNotValid VALUE 0, 7, 8, 9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter a city code (1-6) - " WITH NO ADVANCING + ACCEPT CityCode + IF CityCodeNotValid + DISPLAY "Invalid city code entered" + ELSE + IF CityIsLimerick + DISPLAY "Hey, we're home." + END-IF + IF CityIsDublin + DISPLAY "Hey, we're in the capital." + END-IF + IF UniversityCity + DISPLAY "Apply the rent surcharge!" + END-IF + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-3.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-3.cbl new file mode 100644 index 0000000..17ff1a3 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-3.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-3. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 InputChar PIC X. + 88 Vowel VALUE "A","E","I","O","U". + 88 Consonant VALUE "B" THRU "D", "F","G","H" + "J" THRU "N", "P" THRU "T" + "V" THRU "Z". + 88 Digit VALUE "0" THRU "9". + 88 ValidChar VALUE "A" THRU "Z", "0" THRU "9". + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter a character :- " WITH NO ADVANCING + ACCEPT InputChar + IF ValidChar + DISPLAY "Input OK" + ELSE + DISPLAY "Invalid character entered" + END-IF + IF Vowel + DISPLAY "Vowel entered" + END-IF + IF Digit + DISPLAY "Digit entered" + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-4.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-4.cbl new file mode 100644 index 0000000..866e2da --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-4.cbl @@ -0,0 +1,26 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-4. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 MakeOfCar PIC X(10). + 88 VolksGroup VALUE "skoda", "seat", + "audi", "volkswagen". + 88 GermanMade VALUE "volkswagen", "audi", + "mercedes", "bmw", + "porsche". +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter the make of car - " WITH NO ADVANCING + ACCEPT MakeOfCar + IF VolksGroup AND GermanMade + DISPLAY "Your car is made in Germany by the Volkswagen Group." + ELSE + IF VolksGroup + DISPLAY "Your car is made by the Volkswagen Group." + END-IF + IF GermanMade + DISPLAY "Your car is made in Germany." + END-IF + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-5.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-5.cbl new file mode 100644 index 0000000..833af71 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-5.cbl @@ -0,0 +1,27 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-5. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CountryCode PIC 999 VALUE ZEROS. + 88 BritishCountry VALUES 3, 7, 10, 15. + +01 CurrencyCode PIC 99 VALUE ZEROS. + 88 CurrencyIsPound VALUE 14. + 88 CurrencyIsEuro VALUE 03. + 88 CurrencyIsDollar VALUE 28. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter the country code :- " WITH NO ADVANCING + ACCEPT CountryCode + + IF BritishCountry THEN + SET CurrencyIsPound TO TRUE + END-IF + IF CurrencyIsPound THEN + DISPLAY "Pound sterling used in this country" + ELSE + DISPLAY "Country does not use sterling" + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6-TData.dat b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6-TData.dat new file mode 100644 index 0000000..db8f946 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6-TData.dat @@ -0,0 +1,6 @@ +08712351Teresa Casey LM042 +08712352Padraig Quinlan LM051 +08712353Kevin Tucker LM051 +08712354Maria Donovan LM042 +98712355Liam Lorigan LM110 +98712356Fiachra Luo LM051 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6.cbl new file mode 100644 index 0000000..eede648 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-6.cbl @@ -0,0 +1,32 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-6. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT StudentFile ASSIGN TO "Listing5-6-TData.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD StudentFile. +01 StudentDetails. + 88 EndOfStudentFile VALUE HIGH-VALUES. + 02 StudentId PIC X(8). + 02 StudentName PIC X(25). + 02 CourseCode PIC X(5). + +PROCEDURE DIVISION. +Begin. + OPEN INPUT StudentFile + READ StudentFile + AT END SET EndOfStudentFile TO TRUE + END-READ + PERFORM UNTIL EndOfStudentFile + DISPLAY StudentName SPACE StudentId SPACE CourseCode + READ StudentFile + AT END SET EndOfStudentFile TO TRUE + END-READ + END-PERFORM + CLOSE StudentFile + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-7.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-7.cbl new file mode 100644 index 0000000..e769d8c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-7.cbl @@ -0,0 +1,47 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-7. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 ValidationReturnCode PIC 9. + 88 DateIsOK VALUE 0. + 88 DateIsInvalid VALUE 1 THRU 8. + 88 ValidCodeSupplied VALUE 0 THRU 8. + +01 DateErrorMessage PIC X(35) VALUE SPACES. + 88 DateNotNumeric VALUE "Error - The date must be numeric". + 88 YearIsZero VALUE "Error - The year cannot be zero". + 88 MonthIsZero VALUE "Error - The month cannot be zero". + 88 DayIsZero VALUE "Error - The day cannot be zero". + 88 YearPassed VALUE "Error - Year has already passed". + 88 MonthTooBig VALUE "Error - Month is greater than 12". + 88 DayTooBig VALUE "Error - Day greater than 31". + 88 TooBigForMonth VALUE "Error - Day too big for this month". + +PROCEDURE DIVISION. +Begin. + PERFORM ValidateDate UNTIL ValidCodeSupplied + EVALUATE ValidationReturnCode + WHEN 0 SET DateIsOK TO TRUE + WHEN 1 SET DateNotNumeric TO TRUE + WHEN 2 SET YearIsZero TO TRUE + WHEN 3 SET MonthIsZero TO TRUE + WHEN 4 SET DayIsZero TO TRUE + WHEN 5 SET YearPassed TO TRUE + WHEN 6 SET MonthTooBig TO TRUE + WHEN 7 SET DayTooBig TO TRUE + WHEN 8 SET TooBigForMonth TO TRUE + END-EVALUATE + + IF DateIsInvalid THEN + DISPLAY DateErrorMessage + END-IF + IF DateIsOK + DISPLAY "Date is Ok" + END-IF + STOP RUN. + +ValidateDate. + DISPLAY "Enter a validation return code (0-8) " WITH NO ADVANCING + ACCEPT ValidationReturnCode. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-8.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-8.cbl new file mode 100644 index 0000000..9b1f6aa --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-8.cbl @@ -0,0 +1,36 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing5-8. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Age PIC 99 VALUE ZERO. + 88 Infant VALUE 0 THRU 3. + 88 YoungChild VALUE 4 THRU 7. + 88 Child VALUE 8 THRU 12. + 88 Visitor VALUE 13 THRU 64. + 88 Pensioner VALUE 65 THRU 99. + +01 Height PIC 999 VALUE ZERO. + +01 Admission PIC $99.99. + + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter age :- " WITH NO ADVANCING + ACCEPT Age + DISPLAY "Enter height :- " WITH NO ADVANCING + ACCEPT Height + + EVALUATE TRUE ALSO TRUE + WHEN Infant ALSO ANY MOVE 0 TO Admission + WHEN YoungChild ALSO ANY MOVE 10 TO Admission + WHEN Child ALSO Height >= 48 MOVE 15 TO Admission + WHEN Child ALSO Height < 48 MOVE 10 TO Admission + WHEN Visitor ALSO Height >= 48 MOVE 25 TO Admission + WHEN Visitor ALSO Height < 48 MOVE 18 TO Admission + WHEN Pensioner ALSO ANY MOVE 10 TO Admission + END-EVALUATE + + DISPLAY "Admission charged is " Admission + + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch05/Listing5-9.cbl b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-9.cbl new file mode 100644 index 0000000..49be9de --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch05/Listing5-9.cbl @@ -0,0 +1,45 @@ +PROGRAM-ID. Listing5-9. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Member PIC X VALUE SPACE. + +01 QP PIC 9(5) VALUE ZEROS. +*> QuarterlyPurchases + +01 Qty PIC 99 VALUE ZEROS. + +01 Discount PIC 99 VALUE ZEROS. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter value of QuarterlyPurchases - " WITH NO ADVANCING + ACCEPT QP + DISPLAY "Enter qty of books purchased - " WITH NO ADVANCING + ACCEPT Qty + DISPLAY "club member enter Y or N - " WITH NO ADVANCING + ACCEPT Member + + EVALUATE Qty ALSO TRUE ALSO Member + WHEN 1 THRU 5 ALSO QP < 500 ALSO ANY MOVE 0 TO Discount + WHEN 1 THRU 5 ALSO QP < 2000 ALSO "Y" MOVE 7 TO Discount + WHEN 1 THRU 5 ALSO QP < 2000 ALSO "N" MOVE 5 TO Discount + WHEN 1 THRU 5 ALSO QP >= 2000 ALSO "Y" MOVE 10 TO Discount + WHEN 1 THRU 5 ALSO QP >= 2000 ALSO "N" MOVE 8 TO Discount + + WHEN 6 THRU 20 ALSO QP < 500 ALSO "Y" MOVE 3 TO Discount + WHEN 6 THRU 20 ALSO QP < 500 ALSO "N" MOVE 2 TO Discount + WHEN 6 THRU 20 ALSO QP < 2000 ALSO "Y" MOVE 12 TO Discount + WHEN 6 THRU 20 ALSO QP < 2000 ALSO "N" MOVE 10 TO Discount + WHEN 6 THRU 20 ALSO QP >= 2000 ALSO "Y" MOVE 25 TO Discount + WHEN 6 THRU 20 ALSO QP >= 2000 ALSO "N" MOVE 15 TO Discount + + WHEN 21 THRU 99 ALSO QP < 500 ALSO "Y" MOVE 5 TO Discount + WHEN 21 THRU 99 ALSO QP < 500 ALSO "N" MOVE 3 TO Discount + WHEN 21 THRU 99 ALSO QP < 2000 ALSO "Y" MOVE 16 TO Discount + WHEN 21 THRU 99 ALSO QP < 2000 ALSO "N" MOVE 15 TO Discount + WHEN 21 THRU 99 ALSO QP >= 2000 ALSO "Y" MOVE 30 TO Discount + WHEN 21 THRU 99 ALSO QP >= 2000 ALSO "N" MOVE 20 TO Discount + END-EVALUATE + DISPLAY "Discount = " Discount "%" + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Example6-2 Basic Program.src b/978-1-4302-6253-4_Coughlan_Ch06/Example6-2 Basic Program.src new file mode 100644 index 0000000..0ff3cde --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Example6-2 Basic Program.src @@ -0,0 +1,12 @@ +REM Demonstrates Open subroutines in Yabasic +REM When the EXIT is removed, control falls +REM through into OpenSub +REM Author. Michael Coughlan +PRINT "In main" +GOSUB OpenSub +PRINT "Back in main" +EXIT + +LABEL OpenSub + PRINT "In OpenSub" + RETURN diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-1.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-1.cbl new file mode 100644 index 0000000..31a06ed --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-1.cbl @@ -0,0 +1,22 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-1. +AUTHOR. Michael Coughlan. +PROCEDURE DIVISION. +LevelOne. + DISPLAY "> Starting to run program" + PERFORM LevelTwo + DISPLAY "> Back in LevelOne" + STOP RUN. + +LevelFour. + DISPLAY "> > > > Now in LevelFour". + +LevelThree. + DISPLAY "> > > Now in LevelThree" + PERFORM LevelFour + DISPLAY "> > > Back in LevelThree". + +LevelTwo. + DISPLAY "> > Now in LevelTwo" + PERFORM LevelThree + DISPLAY "> > Back in LevelTwo". diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-2.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-2.cbl new file mode 100644 index 0000000..f5cbc71 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-2.cbl @@ -0,0 +1,24 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-2. +AUTHOR. Michael Coughlan. +*> in-line and out-of-line PERFORM..TIMES + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 NumOfTimes PIC 9 VALUE 5. + +PROCEDURE DIVISION. +Begin. + DISPLAY "About to start in-line Perform" + PERFORM 4 TIMES + DISPLAY "> > > > In-line Perform" + END-PERFORM + DISPLAY "End of in-line Perform" + + DISPLAY "About to start out-of-line Perform" + PERFORM OutOfLineCode NumOfTimes TIMES + DISPLAY "End of out-of-line Perform" + STOP RUN. + +OutOfLineCode. + DISPLAY "> > > > > Out-of-line Perform". diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-3.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-3.cbl new file mode 100644 index 0000000..52a5560 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-3.cbl @@ -0,0 +1,21 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-3. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 RepCount PIC 9(4). +01 PrnRepCount PIC Z,ZZ9. +01 NumberOfTimes PIC 9(4) VALUE 1000. + +PROCEDURE DIVISION. +Begin. + PERFORM VARYING RepCount FROM 0 BY 50 UNTIL RepCount = NumberOfTimes + MOVE RepCount TO PrnRepCount + DISPLAY "counting " PrnRepCount + END-PERFORM + MOVE RepCount TO PrnRepCount + DISPLAY "If I have told you once, " + DISPLAY "I have told you " PrnRepCount " times." + STOP RUN. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-4.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-4.cbl new file mode 100644 index 0000000..f0d6411 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-4.cbl @@ -0,0 +1,45 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-4. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counters. + 02 HundredsCount PIC 99 VALUE ZEROS. + 02 TensCount PIC 99 VALUE ZEROS. + 02 UnitsCount PIC 99 VALUE ZEROS. + +01 Odometer. + 02 PrnHundreds PIC 9. + 02 FILLER PIC X VALUE "-". + 02 PrnTens PIC 9. + 02 FILLER PIC X VALUE "-". + 02 PrnUnits PIC 9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Using an out-of-line Perform". + PERFORM CountMileage + VARYING HundredsCount FROM 0 BY 1 UNTIL HundredsCount > 9 + AFTER TensCount FROM 0 BY 1 UNTIL TensCount > 9 + AFTER UnitsCount FROM 0 BY 1 UNTIL UnitsCount > 9 + + DISPLAY "Now using in-line Perform" + PERFORM VARYING HundredsCount FROM 0 BY 1 UNTIL HundredsCount > 9 + PERFORM VARYING TensCount FROM 0 BY 1 UNTIL TensCount > 9 + PERFORM VARYING UnitsCount FROM 0 BY 1 UNTIL UnitsCount > 9 + MOVE HundredsCount TO PrnHundreds + MOVE TensCount TO PrnTens + MOVE UnitsCount TO PrnUnits + DISPLAY "In - " Odometer + END-PERFORM + END-PERFORM + END-PERFORM + DISPLAY "End of odometer simulation." + STOP RUN. + +CountMileage. + MOVE HundredsCount TO PrnHundreds + MOVE TensCount TO PrnTens + MOVE UnitsCount TO PrnUnits + DISPLAY "Out - " Odometer. diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-5.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-5.cbl new file mode 100644 index 0000000..213d7d2 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-5.cbl @@ -0,0 +1,45 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-5. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 LoopCount PIC 9 VALUE 1. +01 LoopCount2 PIC 9 VALUE 1. + +PROCEDURE DIVISION. +P1. + DISPLAY "S-P1" + PERFORM P2 + PERFORM P3 + MOVE 7 TO LoopCount + PERFORM VARYING LoopCount + FROM 1 BY 1 UNTIL LoopCount = 2 + DISPLAY "InLine - " LoopCount + END-PERFORM + DISPLAY "E-P1". + DISPLAY "STOP RUN should be here". + +P2. + DISPLAY "S-P2" + PERFORM P5 WITH TEST BEFORE VARYING LoopCount + FROM 1 BY 1 UNTIL LoopCount > 2 + DISPLAY "E-P2". + +P3. + DISPLAY "S-P3" + PERFORM P5 + PERFORM P6 3 TIMES + DISPLAY "E-P3". + +P4. + DISPLAY "P4-" LoopCount2 + ADD 1 TO LoopCount2. + +P5. + DISPLAY "S-P5" + DISPLAY LoopCount "-P5-" LoopCount2 + PERFORM P4 WITH TEST AFTER UNTIL LoopCount2 > 2 + DISPLAY "E-P5". + +P6. + DISPLAY "P6". \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-6.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-6.cbl new file mode 100644 index 0000000..0f89b14 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-6.cbl @@ -0,0 +1,43 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-6. +AUTHOR. Michael Coughlan. +*> Continually calculates using two numbers and an operator +*> Ends when "s" is entered instead of an operator. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Num1 PIC 9 VALUE ZERO. +01 Num2 PIC 9 VALUE ZERO. +01 Result PIC --9.99 VALUE ZEROS. +01 Operator PIC X VALUE SPACE. + 88 ValidOperator VALUES "*", "+", "-", "/", "s". + 88 EndOfCalculations VALUE "s". + +PROCEDURE DIVISION. +Begin. + PERFORM GetValidOperator UNTIL ValidOperator + PERFORM UNTIL EndOfCalculations OR NOT ValidOperator + PERFORM GetTwoNumbers + EVALUATE Operator + WHEN "+" ADD Num2 TO Num1 GIVING Result + WHEN "-" SUBTRACT Num2 FROM Num1 GIVING Result + WHEN "*" MULTIPLY Num1 BY Num2 GIVING Result + WHEN "/" DIVIDE Num1 BY Num2 GIVING Result ROUNDED + END-EVALUATE + DISPLAY "Result is = ", Result + MOVE SPACE TO Operator + PERFORM GetValidOperator UNTIL ValidOperator + END-PERFORM + DISPLAY "End of calculations" + STOP RUN. + +GetValidOperator. + DISPLAY "Enter an arithmetic operator (+ - * /) (s to end) : " + WITH NO ADVANCING + ACCEPT Operator. + +GetTwoNumbers. + DISPLAY "Enter a single digit number - " WITH NO ADVANCING + ACCEPT Num1 + + DISPLAY "Enter a single digit number - " WITH NO ADVANCING + ACCEPT Num2. diff --git a/978-1-4302-6253-4_Coughlan_Ch06/Listing6-7.cbl b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-7.cbl new file mode 100644 index 0000000..d305b38 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch06/Listing6-7.cbl @@ -0,0 +1,23 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing6-7. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 UserName PIC X(20). +01 StartValue PIC 99 VALUE ZEROS. +01 Countdown PIC 99 VALUE ZEROS. + +PROCEDURE DIVISION. +DisplayCountdown. + DISPLAY "Enter your name :- " WITH NO ADVANCING + ACCEPT UserName + + DISPLAY "Enter the count-down start value :- " WITH NO ADVANCING + ACCEPT StartValue + + PERFORM VARYING Countdown FROM StartValue BY -1 UNTIL Countdown = ZERO + DISPLAY Countdown + END-PERFORM + + DISPLAY "Your name is " UserName + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-1 Reading the Employee file.cbl b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-1 Reading the Employee file.cbl new file mode 100644 index 0000000..bc3922d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-1 Reading the Employee file.cbl @@ -0,0 +1,38 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing7-1. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT EmployeeFile ASSIGN TO "Employee.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD EmployeeFile. +01 EmployeeDetails. + 88 EndOfEmployeeFile VALUE HIGH-VALUES. + 02 EmpSSN PIC 9(9). + 02 EmpName. + 03 EmpSurname PIC X(15). + 03 EmpForename PIC X(10). + 02 EmpDateOfBirth. + 03 EmpYOB PIC 9(4). + 03 EmpMOB PIC 99. + 03 EmpDOB PIC 99. + 02 EmpGender PIC X. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT EmployeeFile + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + PERFORM UNTIL EndOfEmployeeFile + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + END-PERFORM + CLOSE EmployeeFile + STOP RUN. +Listing 7-1 Reading the Employee file diff --git a/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-2 Reading the Employee file and displaying the records.cbl b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-2 Reading the Employee file and displaying the records.cbl new file mode 100644 index 0000000..9e2e9e8 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-2 Reading the Employee file and displaying the records.cbl @@ -0,0 +1,40 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing7-2. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT EmployeeFile ASSIGN TO "Employee.dat" + ORGANIZATION IS SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD EmployeeFile. +01 EmployeeDetails. + 88 EndOfEmployeeFile VALUE HIGH-VALUES. + 02 EmpSSN PIC 9(9). + 02 EmpName. + 03 EmpSurname PIC X(15). + 03 EmpForename PIC X(10). + 02 EmpDateOfBirth. + 03 EmpYOB PIC 9(4). + 03 EmpMOB PIC 99. + 03 EmpDOB PIC 99. + 02 EmpGender PIC X. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT EmployeeFile + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + PERFORM UNTIL EndOfEmployeeFile + DISPLAY EmpForename SPACE EmpSurname " - " + EmpMOB "/" EmpDOB "/" EmpYOB + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + END-PERFORM + CLOSE EmployeeFile + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-3 Writing and Reading the Employee file.cbl b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-3 Writing and Reading the Employee file.cbl new file mode 100644 index 0000000..fabe541 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-3 Writing and Reading the Employee file.cbl @@ -0,0 +1,53 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing7-3. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT EmployeeFile ASSIGN TO "Employee.dat" + ORGANIZATION IS SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD EmployeeFile. +01 EmployeeDetails. + 88 EndOfEmployeeFile VALUE HIGH-VALUES. + 02 EmpSSN PIC 9(9). + 02 EmpName. + 03 EmpSurname PIC X(15). + 03 EmpForename PIC X(10). + 02 EmpDateOfBirth. + 03 EmpYOB PIC 9(4). + 03 EmpMOB PIC 99. + 03 EmpDOB PIC 99. + 02 EmpGender PIC X. + +PROCEDURE DIVISION. +Begin. + OPEN EXTEND EmployeeFile + PERFORM GetEmployeeData + PERFORM UNTIL EmployeeDetails = SPACES + WRITE EmployeeDetails + PERFORM GetEmployeeData + END-PERFORM + CLOSE EmployeeFile + DISPLAY "************* End of Input ****************" + + OPEN INPUT EmployeeFile + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + PERFORM UNTIL EndOfEmployeeFile + DISPLAY EmployeeDetails + READ EmployeeFile + AT END SET EndOfEmployeeFile TO TRUE + END-READ + END-PERFORM + CLOSE EmployeeFile + STOP RUN. + +GetEmployeeData. + DISPLAY "nnnnnnnnnSSSSSSSSSSSSSSSFFFFFFFFFFyyyyMMddG" + ACCEPT EmployeeDetails. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-4 Displays the value of the gadgets in stock.cbl b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-4 Displays the value of the gadgets in stock.cbl new file mode 100644 index 0000000..8f1bfd3 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-4 Displays the value of the gadgets in stock.cbl @@ -0,0 +1,60 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing7-4. +AUTHOR. Michael Coughlan + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT GadgetStockFile ASSIGN TO "input.txt" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD GadgetStockFile. +01 StockRec. + 88 EndOfStockFile VALUE HIGH-VALUES. + 02 GadgetID PIC 9(6). + 02 GadgetName PIC X(30). + 02 QtyInStock PIC 9(4). + 02 Price PIC 9(4)V99. + +WORKING-STORAGE SECTION. +01 PrnStockValue. + 02 PrnGadgetName PIC X(30). + 02 FILLER PIC XX VALUE SPACES. + 02 PrnValue PIC $$$,$$9.99. + +01 PrnFinalStockTotal. + 02 FILLER PIC X(16) VALUE SPACES. + 02 FILLER PIC X(16) VALUE "Stock Total:". + 02 PrnFinalTotal PIC $$$,$$9.99. + +01 FinalStockTotal PIC 9(6)V99. +01 StockValue PIC 9(6)V99. + +? +PROCEDURE DIVISION. +Begin. + OPEN INPUT GadgetStockFile + READ GadgetStockFile + AT END SET EndOfStockFile TO TRUE + END-READ + PERFORM DisplayGadgetValues UNTIL EndOfStockFile + MOVE FinalStockTotal TO PrnFinalTotal + DISPLAY PrnFinalStockTotal + CLOSE GadgetStockFile + STOP RUN. + +DisplayGadgetValues. + COMPUTE StockValue = Price * QtyInStock + ADD StockValue TO FinalStockTotal + MOVE GadgetName TO PrnGadgetName + MOVE StockValue TO PrnValue + DISPLAY PrnStockValue + READ GadgetStockFile + AT END SET EndOfStockFile TO TRUE + END-READ. + + + + diff --git a/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-5 Adds two records and then displays stock values again.cbl b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-5 Adds two records and then displays stock values again.cbl new file mode 100644 index 0000000..b62d7df --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch07/Listing 7-5 Adds two records and then displays stock values again.cbl @@ -0,0 +1,60 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing7-4. +AUTHOR. Michael Coughlan + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT GadgetStockFile ASSIGN TO "input.txt" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD GadgetStockFile. +01 StockRec. + 88 EndOfStockFile VALUE HIGH-VALUES. + 02 GadgetID PIC 9(6). + 02 GadgetName PIC X(30). + 02 QtyInStock PIC 9(4). + 02 Price PIC 9(4)V99. + +WORKING-STORAGE SECTION. +01 PrnStockValue. + 02 PrnGadgetName PIC X(30). + 02 FILLER PIC XX VALUE SPACES. + 02 PrnValue PIC $$$,$$9.99. + +01 PrnFinalStockTotal. + 02 FILLER PIC X(16) VALUE SPACES. + 02 FILLER PIC X(16) VALUE "Stock Total:". + 02 PrnFinalTotal PIC $$$,$$9.99. + +01 FinalStockTotal PIC 9(6)V99. +01 StockValue PIC 9(6)V99. + +? +PROCEDURE DIVISION. +Begin. + OPEN INPUT GadgetStockFile + READ GadgetStockFile + AT END SET EndOfStockFile TO TRUE + END-READ + PERFORM DisplayGadgetValues UNTIL EndOfStockFile + MOVE FinalStockTotal TO PrnFinalTotal + DISPLAY PrnFinalStockTotal + CLOSE GadgetStockFile + STOP RUN. + +DisplayGadgetValues. + COMPUTE StockValue = Price * QtyInStock + ADD StockValue TO FinalStockTotal + MOVE GadgetName TO PrnGadgetName + MOVE StockValue TO PrnValue + DISPLAY PrnStockValue + READ GadgetStockFile + AT END SET EndOfStockFile TO TRUE + END-READ. + + + + diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1-ShopSales.dat b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1-ShopSales.dat new file mode 100644 index 0000000..f2a30e7 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1-ShopSales.dat @@ -0,0 +1,23 @@ +HID006This is location of shop ID006 +SItemId2500500595 +SItemId2201500395 +SItemId1000100195 +SItemId0300100350 +SItemId2500100195 +SItemId2100100350 +HID001This is location of shop ID001 +SItemId0500500595 +SItemId0201500395 +SItemId1000100195 +SItemId0300100350 +HID002This is location of shop ID002 +SItemId1500500595 +SItemId0100100350 +HID003This is location of shop ID003 +SItemId0500500595 +SItemId0201500395 +SItemId1211501395 +SItemId0500100195 +SItemId1500100195 +SItemId2100100350 +SItemId0500100195 diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1.cbl b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1.cbl new file mode 100644 index 0000000..4612570 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-1.cbl @@ -0,0 +1,61 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing8-1. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + Select ShopReceiptsFile ASSIGN TO "Listing8-1-ShopSales.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD ShopReceiptsFile. +01 ShopDetails. + 88 EndOfShopReceiptsFile VALUE HIGH-VALUES. + 02 RecTypeCode PIC X. + 88 ShopHeader VALUE "H". + 88 ShopSale VALUE "S". + 02 ShopId PIC X(5). + 02 ShopLocation PIC X(30). + +01 SaleReceipt. + 02 RecTypeCode PIC X. + 02 ItemId PIC X(8). + 02 QtySold PIC 9(3). + 02 ItemCost PIC 999V99. + +WORKING-STORAGE SECTION. +01 PrnShopSalesTotal. + 02 FILLER PIC X(21) VALUE "Total sales for shop ". + 02 PrnShopId PIC X(5). + 02 PrnShopTotal PIC $$$$,$$9.99. + +01 ShopTotal PIC 9(5)V99. + +PROCEDURE DIVISION. +ShopSalesSummary. + OPEN INPUT ShopReceiptsFile + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ + PERFORM SummarizeCountrySales + UNTIL EndOfShopReceiptsFile + CLOSE ShopReceiptsFile + STOP RUN. + +SummarizeCountrySales. + MOVE ShopId TO PrnShopId + MOVE ZEROS TO ShopTotal + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ + PERFORM SummarizeShopSales + UNTIL ShopHeader OR EndOFShopReceiptsFile + MOVE ShopTotal TO PrnShopTotal + DISPLAY PrnShopSalesTotal. + +SummarizeShopSales. + COMPUTE ShopTotal = ShopTotal + (QtySold * ItemCost) + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2-ShopSales.dat b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2-ShopSales.dat new file mode 100644 index 0000000..6dcf5ba --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2-ShopSales.dat @@ -0,0 +1,27 @@ +HID006This is location of shop ID006 +SItemId2500500595 +SItemId2201500395 +SItemId1000100195 +SItemId0300100350 +SItemId2500100195 +SItemId2100100350 +F00006 +HID001This is location of shop ID001 +SItemId0500500595 +SItemId0201500395 +SItemId1000100195 +SItemId0300100350 +F00006 +HID002This is location of shop ID002 +SItemId1500500595 +SItemId0100100350 +F00002 +HID003This is location of shop ID003 +SItemId0500500595 +SItemId0201500395 +SItemId1211501395 +SItemId0500100195 +SItemId1500100195 +SItemId2100100350 +SItemId0500100195 +F00007 diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2.cbl b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2.cbl new file mode 100644 index 0000000..6cf791e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-2.cbl @@ -0,0 +1,86 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing8-2. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + Select ShopReceiptsFile ASSIGN TO "Listing8-2-ShopSales.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD ShopReceiptsFile. +01 ShopDetails. + 88 EndOfShopReceiptsFile VALUE HIGH-VALUES. + 02 TypeCode PIC X. + 88 ShopHeader VALUE "H". + 88 ShopSale VALUE "S". + 88 ShopFooter VALUE "F". + 02 ShopId PIC X(5). + 02 ShopLocation PIC X(30). + +01 SaleReceipt. + 02 TypeCode PIC X. + 02 ItemId PIC X(8). + 02 QtySold PIC 9(3). + 02 ItemCost PIC 999V99. + +01 ShopSalesCount. + 02 TypeCode PIC X. + 02 RecCount PIC 9(5). + +WORKING-STORAGE SECTION. +01 PrnShopSalesTotal. + 02 FILLER PIC X(21) VALUE "Total sales for shop ". + 02 PrnShopId PIC X(5). + 02 PrnShopTotal PIC $$$$,$$9.99. + +01 PrnErrorMessage. + 02 FILLER PIC X(15) VALUE "Error on Shop: ". + 02 PrnErrorShopId PIC X(5). + 02 FILLER PIC X(10) VALUE " RCount = ". + 02 PrnRecCount PIC 9(5). + 02 FILLER PIC X(10) VALUE " ACount = ". + 02 PrnActualCount PIC 9(5). + +01 ShopTotal PIC 9(5)V99. +01 ActualCount PIC 9(5). + +PROCEDURE DIVISION. +ShopSalesSummary. + OPEN INPUT ShopReceiptsFile + PERFORM GetHeaderRec + PERFORM SummarizeCountrySales + UNTIL EndOfShopReceiptsFile + CLOSE ShopReceiptsFile + STOP RUN. + +SummarizeCountrySales. + MOVE ShopId TO PrnShopId, PrnErrorShopId + MOVE ZEROS TO ShopTotal + + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ + PERFORM SummarizeShopSales + VARYING ActualCount FROM 0 BY 1 UNTIL ShopFooter + IF RecCount = ActualCount + MOVE ShopTotal TO PrnShopTotal + DISPLAY PrnShopSalesTotal + ELSE + MOVE RecCount TO PrnRecCount + MOVE ActualCount TO PrnActualCount + DISPLAY PrnErrorMessage + END-IF + PERFORM GetHeaderRec. + +SummarizeShopSales. + COMPUTE ShopTotal = ShopTotal + (QtySold * ItemCost) + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ. + +GetHeaderRec. + READ ShopReceiptsFile + AT END SET EndOfShopReceiptsFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.dat b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.dat new file mode 100644 index 0000000..e11de64 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.dat @@ -0,0 +1,83 @@ +A1234Teresa Casey 1F +A1235Colm Ryan 1M +A1236Padraig Quinlan 1M +A1237Brendan Horan 3M +A1238Kevin Tucker 1M +A1239Shane Barry 1M +B0234Maria Donovan 1F +B0301Liam Lorigan 2M +B0368Fiachra Luo 1M +B0435Roseanna Lee 1F +B0502Sean O'Sullivan 3M +B0569Seamus Mencke 2M +B0636Grainne O'Malley 1M +B0703Sean Moroney 3M +C2345Maeve Fitzgibbon 1F +C2346Catherine Xu 2F +C2347Olivia O'Shea 2F +C2348Shane Cross 1M +C2349Philip Fitzgerald 1M +C2350Eoghan Kaneswaran 1M +C2351Adrian Lynch 3M +C2352Rebecca Marley 1F +D6543Stephen Mulhall 1M +D7211Rory Organ 1M +D7879Eddie Real 3M +D8547Olive Sims 1F +D9215Thomas Williams 3M +D9883Daniel Wan 1M +E1211Eva O'Sullivan 1F +E1212Eoghan McKeown 3M +E1213Ciara Murphy 2F +E1214Martin Tuile 3M +E1215Aidan O'Halloran 1M +E1216Stephen Kiely 1M +E1217Mark Moran 2M +F0001Liam Smith 1M +F0002Stephen Dunphy 1M +F0003Niamh Lynch 1F +F0104Michael Roddy 1M +F0105Philip Hayes 2M +F0106Darren Hastings 1M +F0107Hugh Horgan 1M +F0128Michael Daughty 1M +F0129Seamus Higgins 1M +F0130Peter Harte 1M +F0131Ruairi Egan 1M +F0132Karen Brosnan 1F +F0133Colin Brennan 2M +G0212Patrick Casey 2M +G0311Brian Horan 1M +G0410David Mangan 2M +G0509Hugh Burns 1M +G0608Robert Byrne 1M +G0707Aoife Ryan 1F +G0806Faela McTernan 2M +H1234Conor Garvan 1M +H1235Eoghan O'Toole 2M +H1236Hao Ming O'Connor 1M +H1237Donald Hogan 2M +H1238Ciara Ryan 1F +H1239Shu Carroll 3F +H1240Shane Reen 1M +H1241Matthew Ryan 1M +H1242William Carty 2M +K0012Shane Cronin 1M +K0013Kristofer Geraghty 2M +K0014Padraig Webster 1M +K0015David McWeeney 1M +K0016Sharon Doyle 1F +K0017Aaron Brady 1M +K0018Jay Mc Carthy 1M +L0019Barry Murphy 1M +L0020Triona Keyes 1F +L0021Patrick Gillen 3M +L0022Michael O'Brien 1M +L0023Donal O'Donoghue 1M +M0024Mark Deasy 1M +M0025Joseph Kiely 2M +M0026Martin Goodwin 1M +M0027Mary Maher 1F +M0028David Hayes 1M +M0029Kevin Kirwan 1M +M0030Arthur McCormack 1M \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.rpt b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.rpt new file mode 100644 index 0000000..c79c9cc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3-Members.rpt @@ -0,0 +1,105 @@ + Rolling Greens Golf Club - Membership Report + +MemberID Member Name Type Gender + A1234 Teresa Casey 1 F + A1235 Colm Ryan 1 M + A1236 Padraig Quinlan 1 M + A1237 Brendan Horan 3 M + A1238 Kevin Tucker 1 M + A1239 Shane Barry 1 M + B0234 Maria Donovan 1 F + B0301 Liam Lorigan 2 M + B0368 Fiachra Luo 1 M + B0435 Roseanna Lee 1 F + B0502 Sean O'Sullivan 3 M + B0569 Seamus Mencke 2 M + B0636 Grainne O'Malley 1 M + B0703 Sean Moroney 3 M + C2345 Maeve Fitzgibbon 1 F + C2346 Catherine Xu 2 F + C2347 Olivia O'Shea 2 F + C2348 Shane Cross 1 M + C2349 Philip Fitzgerald 1 M + C2350 Eoghan Kaneswaran 1 M + C2351 Adrian Lynch 3 M + C2352 Rebecca Marley 1 F + D6543 Stephen Mulhall 1 M + D7211 Rory Organ 1 M + D7879 Eddie Real 3 M + D8547 Olive Sims 1 F + D9215 Thomas Williams 3 M + D9883 Daniel Wan 1 M + E1211 Eva O'Sullivan 1 F + E1212 Eoghan McKeown 3 M + E1213 Ciara Murphy 2 F + E1214 Martin Tuile 3 M + E1215 Aidan O'Halloran 1 M + E1216 Stephen Kiely 1 M + E1217 Mark Moran 2 M + F0001 Liam Smith 1 M + F0002 Stephen Dunphy 1 M + + + + + Page : 1 Rolling Greens Golf Club - Membership Report + +MemberID Member Name Type Gender + F0003 Niamh Lynch 1 F + F0104 Michael Roddy 1 M + F0105 Philip Hayes 2 M + F0106 Darren Hastings 1 M + F0107 Hugh Horgan 1 M + F0128 Michael Daughty 1 M + F0129 Seamus Higgins 1 M + F0130 Peter Harte 1 M + F0131 Ruairi Egan 1 M + F0132 Karen Brosnan 1 F + F0133 Colin Brennan 2 M + G0212 Patrick Casey 2 M + G0311 Brian Horan 1 M + G0410 David Mangan 2 M + G0509 Hugh Burns 1 M + G0608 Robert Byrne 1 M + G0707 Aoife Ryan 1 F + G0806 Faela McTernan 2 M + H1234 Conor Garvan 1 M + H1235 Eoghan O'Toole 2 M + H1236 Hao Ming O'Connor 1 M + H1237 Donald Hogan 2 M + H1238 Ciara Ryan 1 F + H1239 Shu Carroll 3 F + H1240 Shane Reen 1 M + H1241 Matthew Ryan 1 M + H1242 William Carty 2 M + K0012 Shane Cronin 1 M + K0013 Kristofer Geraghty 2 M + K0014 Padraig Webster 1 M + K0015 David McWeeney 1 M + K0016 Sharon Doyle 1 F + K0017 Aaron Brady 1 M + K0018 Jay Mc Carthy 1 M + L0019 Barry Murphy 1 M + L0020 Triona Keyes 1 F + L0021 Patrick Gillen 3 M + + + + + Page : 2 Rolling Greens Golf Club - Membership Report + +MemberID Member Name Type Gender + L0022 Michael O'Brien 1 M + L0023 Donal O'Donoghue 1 M + M0024 Mark Deasy 1 M + M0025 Joseph Kiely 2 M + M0026 Martin Goodwin 1 M + M0027 Mary Maher 1 F + M0028 David Hayes 1 M + M0029 Kevin Kirwan 1 M + M0030 Arthur McCormack 1 M + + + + +**** End of Membership Report **** \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3.cbl b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3.cbl new file mode 100644 index 0000000..b6d4a79 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-3.cbl @@ -0,0 +1,93 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing8-3. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT MembershipReport + ASSIGN TO "Listing8-3-Members.rpt" + ORGANIZATION IS SEQUENTIAL. + + SELECT MemberFile ASSIGN TO "Listing8-3-Members.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD MembershipReport. +01 PrintLine PIC X(44). + +FD MemberFile. +01 MemberRec. + 88 EndOfMemberFile VALUE HIGH-VALUES. + 02 MemberId PIC X(5). + 02 MemberName PIC X(20). + 02 MemberType PIC 9. + 02 Gender PIC X. + + +WORKING-STORAGE SECTION. +01 PageHeading. + 02 FILLER PIC X(44) + VALUE "Rolling Greens Golf Club - Membership Report". + +01 PageFooting. + 02 FILLER PIC X(15) VALUE SPACES. + 02 FILLER PIC X(7) VALUE "Page : ". + 02 PrnPageNum PIC Z9. + +01 ColumnHeadings PIC X(41) + VALUE "MemberID Member Name Type Gender". + +01 MemberDetailLine. + 02 FILLER PIC X VALUE SPACES. + 02 PrnMemberId PIC 9(5). + 02 FILLER PIC X(4) VALUE SPACES. + 02 PrnMemberName PIC X(20). + 02 FILLER PIC XX VALUE SPACES. + 02 PrnMemberType PIC X. + 02 FILLER PIC X(4) VALUE SPACES. + 02 PrnGender PIC X. + +01 ReportFooting PIC X(38) + VALUE "**** End of Membership Report ****". + +01 LineCount PIC 99 VALUE ZEROS. + 88 NewPageRequired VALUE 40 THRU 99. + +01 PageCount PIC 99 VALUE ZEROS. + +PROCEDURE DIVISION. +PrintMembershipReport. + OPEN INPUT MemberFile + OPEN OUTPUT MembershipReport + PERFORM PrintPageHeadings + READ MemberFile + AT END SET EndOfMemberFile TO TRUE + END-READ + PERFORM PrintReportBody UNTIL EndOfMemberFile + WRITE PrintLine FROM ReportFooting AFTER ADVANCING 5 LINES + CLOSE MemberFile, MembershipReport + STOP RUN. + +PrintPageHeadings. + WRITE PrintLine FROM PageHeading AFTER ADVANCING PAGE + WRITE PrintLine FROM ColumnHeadings AFTER ADVANCING 2 LINES + MOVE 3 TO LineCount + ADD 1 TO PageCount. + + +PrintReportBody. + IF NewPageRequired + MOVE PageCount TO PrnPageNum + WRITE PrintLine FROM PageFooting AFTER ADVANCING 5 LINES + PERFORM PrintPageHeadings + END-IF. + MOVE MemberId TO PrnMemberId + MOVE MemberName TO PrnMemberName + MOVE MemberType TO PrnMemberType + MOVE Gender TO PrnGender + WRITE PrintLine FROM MemberDetailLine AFTER ADVANCING 1 LINE + ADD 1 TO LineCount + READ MemberFile + AT END SET EndOfMemberFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4-LongNames.dat b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4-LongNames.dat new file mode 100644 index 0000000..56b60a4 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4-LongNames.dat @@ -0,0 +1,12 @@ +Oscar Fingal O'Flahertie Wills Wilde +Colm Padraig Brendan Ryan +Kevin Tucker Barry +Maria Roseanna Catherine Donovan +Liam Sean Lorigan +Maeve Fitzgibbon Mencke +Shane Philip Adrian Cross +Stephen Rory Mulhall +Niamh Karen Ciara Lynch +Darren Peter Hastings +Aoife Triona Ryan +Hao Ming Barry O'Connor \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4.cbl b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4.cbl new file mode 100644 index 0000000..2a71193 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-4.cbl @@ -0,0 +1,62 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing8-4. +AUTHOR. Michael Coughlan. +* This program demonstrates how to read variable length records. +* It also demonstrates how a file may be assigned its actual name +* at run time rather than compile time (dynamic vs static). +* Since the record buffer is a fixed 40 characters in size but +* the names are variable length Reference Modification is used +* to extract only the characters in the name from the record buffer +* from the record buffer. + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT LongNameFile + ASSIGN TO NameOfFile + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD LongNameFile + RECORD IS VARYING IN SIZE + DEPENDING ON NameLength. +01 LongNameRec PIC X(40). + 88 EndOfNames VALUE HIGH-VALUES. + + +WORKING-STORAGE SECTION. +01 NameLength PIC 99. +01 NameOfFile PIC X(20). +01 StudentRec. + 05 StudentId PIC 9(7). + 05 StudentName. + 10 Forename PIC X(9). + 10 Surname PIC X(12). + 05 DateOfBirth. + 10 YOB PIC 9(4). + 08 MOBandDOB. + 10 MOB PIC 99. + 10 DOB PIC 99. + 05 CourseId PIC X(5). + 04 GPA PIC 9V99. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter the name of the file :- " + WITH NO ADVANCING + ACCEPT NameOfFile. + OPEN INPUT LongNameFile. + READ LongNameFile + AT END SET EndOfNames TO TRUE + END-READ + PERFORM UNTIL EndOfNames + DISPLAY "***" LongNameRec(1:NameLength) "***" + READ LongNameFile + AT END SET EndOfNames TO TRUE + END-READ + END-PERFORM + + CLOSE LongNameFile + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Entrants.Dat b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Entrants.Dat new file mode 100644 index 0000000..d08c227 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Entrants.Dat @@ -0,0 +1,133 @@ +09012357LM050F +08712351LM050F +08712356LM050F +08712359LM051F +08812357LM051F +08912351LM051F +08912356LM051F +08912359LM051F +09012355LM051F +08712352LM051M +08712355LM051M +08912354LM051M +08912357LM051M +09012353LM051M +09012356LM051M +09012358LM051M +11112222LM051M +11112225LM051M +11112228LM051M +11112231LM051M +11112234LM051M +11112237LM051M +11112240LM051M +11112243LM051M +11112246LM051M +11112249LM051M +11112252LM051M +11112255LM051M +11112258LM051M +11112261LM051M +11112264LM051M +11112267LM051M +11112270LM051M +11112273LM051M +11112276LM051M +11112279LM051M +11112282LM051M +11112285LM051M +11112288LM051M +11112291LM051M +11112294LM051M +11112297LM051M +11112300LM051M +11112303LM051M +11112306LM051M +11112309LM051M +11112312LM051M +11112315LM051M +11112318LM051M +11112321LM051M +11112324LM051M +11112327LM051M +11112330LM051M +11112333LM051M +11112336LM051M +11112339LM051M +11112342LM051M +11112345LM051M +11112348LM051M +11112351LM051M +11112354LM051M +11112357LM051M +11112360LM051M +11112363LM051M +11112366LM051M +11112369LM051M +11112372LM051M +11112375LM051M +11112378LM051M +11112381LM051M +11112384LM051M +11112387LM051M +11112390LM051M +11112393LM051M +11112396LM051M +11112399LM051M +11112402LM051M +11112405LM051M +11112408LM051M +11112411LM051M +11112414LM051M +11112417LM051M +11112420LM051M +11112423LM051M +11112426LM051M +11112429LM051M +11112432LM051M +11112435LM051M +11112438LM051M +11112441LM051M +11112444LM051M +11112447LM051M +11112450LM051M +11112453LM051M +11112456LM051M +11112459LM051M +11112462LM051M +11112465LM051M +11112468LM051M +11112471LM051M +11112474LM051M +11112477LM051M +11112480LM051M +11112483LM051M +11112486LM051M +11112489LM051M +11112492LM051M +11112495LM051M +11112498LM051M +11112501LM051M +11112504LM051M +11112507LM051M +11112510LM051M +11112513LM051M +11112516LM051M +11112519LM051M +11112522LM051M +08712353LM052M +08712358LM052M +08812355LM052M +08712357LM060F +08812358LM060F +09012354LM060F +08712354LM060M +08812356LM060M +08912355LM060M +08912358LM062M +09012352LM062M +09012359LM062F +09012351LM062M +08912352LM110F +08812359LM110M +08912353LM110M \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Summary.Rpt b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Summary.Rpt new file mode 100644 index 0000000..e585922 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5-Summary.Rpt @@ -0,0 +1,11 @@ + First Year Entrants Summary + + Course Code NumOfStudents + LM050 3 + LM051 114 + LM052 3 + LM060 6 + LM062 4 + LM110 3 + + Total Students: 133 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5.cbl b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5.cbl new file mode 100644 index 0000000..7839942 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch08/Listing8-5.cbl @@ -0,0 +1,73 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing8-5. +AUTHOR. Michael Coughlan. +* This program processes the first year students entrants file to produce +* a summary report sequenced on ascending Course Code that shows the number +* of first year students* in each course. +* The Entrants File is a sequential file sequenced on ascending CourseCode. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT EntrantsFile ASSIGN TO "Listing8-5-Entrants.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT SummaryReport ASSIGN TO "Listing8-5-Summary.Rpt" + ORGANIZATION IS SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD EntrantsFile. +01 StudentRecord. + 88 EndOfEntrantsFile VALUE HIGH-VALUES. + 02 StudentId PIC 9(8). + 02 CourseCode PIC X(5). + 02 Gender PIC X. + +FD SummaryReport. +01 PrintLine PIC X(35). + +WORKING-STORAGE SECTION. +01 HeadingLine1 PIC X(31) VALUE " First Year Entrants Summary". + +01 HeadingLine2 PIC X(31) VALUE " Course Code NumOfStudents". + +01 CourseLine. + 02 FILLER PIC X(5) VALUE SPACES. + 02 PrnCourseCode PIC X(5). + 02 FILLER PIC X(10) VALUE SPACES. + 02 PrnCourseTotal PIC BBZZ9. + +01 FinalTotalLine. + 02 FILLER PIC X(19) VALUE " Total Students:". + 02 PrnFinalTotal PIC BZ,ZZ9. + +01 CourseTotal PIC 9(4) VALUE ZEROS. +01 FinalTotal PIC 9(5) VALUE ZEROS. +01 PrevCourseCode PIC X(5) VALUE ZEROS. + +PROCEDURE DIVISION. +ProduceSummaryReport. + OPEN INPUT EntrantsFile + OPEN OUTPUT SummaryReport + WRITE PrintLine FROM HeadingLine1 AFTER ADVANCING PAGE + WRITE PrintLine FROM HeadingLine2 AFTER ADVANCING 2 LINES + READ EntrantsFile + AT END SET EndOfEntrantsFile TO TRUE + END-READ + PERFORM UNTIL EndOfEntrantsFile + MOVE CourseCode TO PrnCourseCode, PrevCourseCode + MOVE ZEROS TO CourseTotal + PERFORM UNTIL CourseCode NOT = PrevCourseCode + ADD 1 TO CourseTotal, FinalTotal + READ EntrantsFile + AT END SET EndOfEntrantsFile TO TRUE + END-READ + END-PERFORM + MOVE CourseTotal TO PrnCourseTotal + WRITE PrintLine FROM CourseLine AFTER ADVANCING 1 LINE + END-PERFORM + MOVE FinalTotal TO PrnFinalTotal + WRITE PrintLine FROM FinalTotalLine AFTER ADVANCING 2 LINES + CLOSE EntrantsFile, SummaryReport + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch09/Listing9-1.cbl b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-1.cbl new file mode 100644 index 0000000..bda78bc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-1.cbl @@ -0,0 +1,48 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing9-1. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 NumericValue PIC 9(8)V99 VALUE 00014584.95. +01 Edit1 PIC 99,999,999.99. +01 Edit2 PIC ZZ,ZZZ,ZZ9.99. +01 Edit3 PIC $*,***,**9.99. +01 Edit4 PIC ++,+++,++9.99. +01 Edit5 PIC $$,$$$,$$9.99. +01 Edit6 PIC $$,$$$,$$9.00. +01 Edit7 PIC 99/999/999.99. +01 Edit8 PIC 99999000999.99. +01 Edit9 PIC 99999BBB999.99. + +PROCEDURE DIVISION. +Begin. +MOVE NumericValue TO Edit1 +DISPLAY "Edit1 = " Edit1 + +MOVE NumericValue TO Edit2 +DISPLAY "Edit2 = " Edit2 + +MOVE NumericValue TO Edit3 +DISPLAY "Edit3 = " Edit3 + +MOVE NumericValue TO Edit4 +DISPLAY "Edit4 = " Edit4 + +MOVE NumericValue TO Edit5 +DISPLAY "Edit5 = " Edit5 + +MOVE NumericValue TO Edit6 +DISPLAY "Edit6 = " Edit6 + +MOVE NumericValue TO Edit7 +DISPLAY "Edit7 = " Edit7 + +MOVE NumericValue TO Edit8 +DISPLAY "Edit8 = " Edit8 + +MOVE NumericValue TO Edit9 +DISPLAY "Edit9 = " Edit9 + +STOP RUN. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch09/Listing9-2.cbl b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-2.cbl new file mode 100644 index 0000000..8fbe273 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-2.cbl @@ -0,0 +1,17 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing9-2. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +CONFIGURATION SECTION. +SPECIAL-NAMES. + CURRENCY SIGN IS "£" + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Edit1 PIC £££,££9.99. + +PROCEDURE DIVISION. +Begin. + MOVE 12345.95 TO Edit1 + DISPLAY "Edit1 = " Edit1 + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch09/Listing9-3.cbl b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-3.cbl new file mode 100644 index 0000000..63c4246 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-3.cbl @@ -0,0 +1,37 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing9-3. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +CONFIGURATION SECTION. +SPECIAL-NAMES. + CURRENCY SIGN IS "£" + CURRENCY SIGN IS "$" + CURRENCY SIGN IS "¥". + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 DollarValue PIC 9999V99. + +01 PrnDollarValue PIC $$$,$$9.99. +01 PrnYenValue PIC ¥¥¥,¥¥9.99. +01 PrnPoundValue PIC £££,££9.99. + +01 Dollar2PoundRate PIC 99V9(6) VALUE 0.640138. +01 Dollar2YenRate PIC 99V9(6) VALUE 98.6600. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter a dollar value to convert :- " WITH NO ADVANCING + ACCEPT DollarValue + MOVE DollarValue TO PrnDollarValue + + COMPUTE PrnYenValue ROUNDED = DollarValue * Dollar2YenRate + + COMPUTE PrnPoundValue ROUNDED = DollarValue * Dollar2PoundRate + + DISPLAY "Dollar value = " PrnDollarValue + DISPLAY "Yen value = " PrnYenValue + DISPLAY "Pound value = " PrnPoundValue + + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch09/Listing9-4.cbl b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-4.cbl new file mode 100644 index 0000000..344bae9 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch09/Listing9-4.cbl @@ -0,0 +1,20 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing9-4. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Stars PIC *****. +01 NumOfStars PIC 9. + +PROCEDURE DIVISION. +Begin. + PERFORM VARYING NumOfStars FROM 0 BY 1 UNTIL NumOfStars > 5 + COMPUTE Stars = 10 ** (4 - NumOfStars) +* INSPECT Stars CONVERTING "10" TO SPACES + INSPECT Stars REPLACING ALL "1" BY SPACES + ALL "0" BY SPACES + + DISPLAY NumOfStars " = " Stars + END-PERFORM + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch09/Listint9-5.cbl b/978-1-4302-6253-4_Coughlan_Ch09/Listint9-5.cbl new file mode 100644 index 0000000..ff5075c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch09/Listint9-5.cbl @@ -0,0 +1,34 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing9-5. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 SmallScaledNumber PIC VP(5)999 VALUE .00000423. +01 LargeScaledNumber PIC 999P(5)V VALUE 45600000.00. +01 ScaledBillions PIC 999P(9) VALUE ZEROS. + +01 SmallNumber PIC 9V9(8) VALUE 1.11111111. +01 LargeNumber PIC 9(8)V9 VALUE 11111111. + +01 PrnSmall PIC 99.9(8). +01 PrnLarge PIC ZZ,ZZZ,ZZ9.99. +01 PrnBillions PIC ZZZ,ZZZ,ZZZ,ZZ9. + +PROCEDURE DIVISION. +Begin. + MOVE SmallScaledNumber TO PrnSmall + MOVE LargeScaledNumber TO PrnLarge + DISPLAY "Small scaled = " PrnSmall + DISPLAY "Large scaled = " PrnLarge + + ADD SmallScaledNumber TO SmallNumber + ADD LargeScaledNumber TO LargeNumber + MOVE SmallNumber TO PrnSmall + MOVE LargeNumber TO PrnLarge + DISPLAY "Small = " PrnSmall + DISPLAY "Large = " PrnLarge + + MOVE 123456789012 TO ScaledBillions + MOVE ScaledBillions TO PrnBillions + DISPLAY "Billions = " PrnBillions + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1.cbl b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1.cbl new file mode 100644 index 0000000..dac18e5 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1.cbl @@ -0,0 +1,128 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing10-1. +AUTHOR. Michael Coughlan. +* A three level Control Break program to process the Electronics2Go +* Sales file and produce a report that shows the value of sales for +* each Salesperson, each branch, each state, and for the country. +* The SalesFile is sorted on ascending SalespersonId within BranchId +* within Statename. +* The report must be printed in the same order + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. +SELECT SalesFile ASSIGN TO "Listing10-1TestData.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + +SELECT SalesReport ASSIGN TO "Listing10-1.RPT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD SalesFile. +01 SalesRecord. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 StateName PIC X(14). + 02 BranchId PIC X(5). + 02 SalesPersonId PIC X(6). + 02 ValueOfSale PIC 9(4)V99. + +FD SalesReport. +01 PrintLine PIC X(55). + +WORKING-STORAGE SECTION. +01 ReportHeading. + 02 FILLER PIC X(35) + VALUE " Electronics2Go Sales Report". + +01 SubjectHeading. + 02 FILLER PIC X(43) + VALUE "State Name Branch SalesId SalesTotal". + +01 DetailLine. + 02 PrnStateName PIC X(14). + 88 SuppressStateName VALUE SPACES. + 02 PrnBranchId PIC BBX(5). + 88 SuppressBranchId VALUE SPACES. + 02 PrnSalespersonId PIC BBBBX(6). + 02 PrnSalespersonTotal PIC BB$$,$$9.99. + +01 BranchTotalLine. + 02 FILLER PIC X(43) + VALUE " Branch Total: ". + 02 PrnBranchTotal PIC $$$,$$9.99. + +01 StateTotalLine. + 02 FILLER PIC X(40) + VALUE " State Total : ". + 02 PrnStateTotal PIC $$,$$$,$$9.99. + +01 FinalTotalLine. + 02 FILLER PIC X(39) + VALUE " Final Total :". + 02 PrnFinalTotal PIC $$$,$$$,$$9.99. + +01 SalespersonTotal PIC 9(4)V99. +01 BranchTotal PIC 9(6)V99. +01 StateTotal PIC 9(7)V99. +01 FinalTotal PIC 9(9)V99. + +01 PrevStateName PIC X(14). +01 PrevBranchId PIC X(5). +01 PrevSalespersonId PIC X(6). + +PROCEDURE DIVISION. +Begin. + OPEN INPUT SalesFile + OPEN OUTPUT SalesReport + WRITE PrintLine FROM ReportHeading AFTER ADVANCING 1 LINE + WRITE PrintLine FROM SubjectHeading AFTER ADVANCING 2 LINE + + READ SalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + PERFORM UNTIL EndOfSalesFile + MOVE StateName TO PrevStateName, PrnStateName + MOVE ZEROS TO StateTotal + PERFORM SumSalesForState + UNTIL StateName NOT = PrevStateName + OR EndOfSalesFile + MOVE StateTotal TO PrnStateTotal + WRITE PrintLine FROM StateTotalLine AFTER ADVANCING 1 LINE + END-PERFORM + + MOVE FinalTotal TO PrnFinalTotal + WRITE PrintLine FROM FinalTotalLine AFTER ADVANCING 1 LINE + + CLOSE SalesFile, SalesReport + STOP RUN. + +SumSalesForState. + WRITE PrintLine FROM SPACES AFTER ADVANCING 1 LINE + MOVE BranchId TO PrevBranchId, PrnBranchId + MOVE ZEROS TO BranchTotal + PERFORM SumSalesForBranch + UNTIL BranchId NOT = PrevBranchId + OR StateName NOT = PrevStateName + OR EndOfSalesFile + MOVE BranchTotal TO PrnBranchTotal + WRITE PrintLine FROM BranchTotalLine AFTER ADVANCING 1 LINE. + +SumSalesForBranch. + MOVE SalespersonId TO PrevSalespersonId, PrnSalespersonId + MOVE ZEROS TO SalespersonTotal + PERFORM SumSalespersonSales + UNTIL SalespersonId NOT = PrevSalespersonId + OR BranchId NOT = PrevBranchId + OR StateName NOT = PrevStateName + OR EndOfSalesFile + MOVE SalespersonTotal TO PrnSalespersonTotal + WRITE PrintLine FROM DetailLine AFTER ADVANCING 1 LINE + SET SuppressBranchId TO TRUE + SET SuppressStateName TO TRUE. + +SumSalespersonSales. + ADD ValueOfSale TO SalespersonTotal, BranchTotal, StateTotal, FinalTotal + READ SalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1TestData.Dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1TestData.Dat new file mode 100644 index 0000000..b7b6889 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-1TestData.Dat @@ -0,0 +1,184 @@ +Arkansas KA12312344M011111 +Arkansas KA12312345F011111 +Arkansas KA12312345F011111 +Arkansas KA12312347M033333 +Arkansas KA12312348F022222 +Arkansas KA12312348F022222 +Arkansas KA12312349M055555 +Arkansas KA12423456F022222 +Arkansas KA12423456F022222 +Arkansas KA12423456F022222 +Arkansas KA12423457F077777 +Arkansas KA12423456F044444 +Arkansas KA12423456F044444 +Arkansas KA12811345F001117 +Arkansas KA12811345F001118 +Arkansas KA12811345F001119 +Arkansas KA12844444M055555 +Arkansas KA12844444M055555 +Arkansas KA12844444M055555 +Arkansas KA12844444M002225 +Arkansas KA12844444M002226 +Arkansas KA12855555M003333 +Arkansas KA12855555M003334 +Arkansas KA12855555M003335 +Arkansas KA12855555M003336 +Arkansas KA12855555M003337 +Arkansas KA41100123F104443 +Arkansas KA41100123F204444 +Arkansas KA41100123F104445 +Arkansas KA41111111F304446 +Arkansas KA41111111F104447 +Arkansas KA41111111F104448 +Arkansas KA41111111F104449 +Arkansas KA41122222M100234 +Arkansas KA41122222M110235 +Arkansas KA41122222M105236 +Florida LF11100123F015555 +Florida LF11100123F000650 +Florida LF11100123F000651 +Florida LF11100123F000652 +Florida LF11100123F000653 +Florida LF11100123F000654 +Florida LF11133123F000655 +Florida LF11133123F000656 +Florida LF11133123F000657 +Florida LF11133123F000658 +Florida LF11133123F000659 +Florida LF11133123F000660 +Florida LF11155123F000661 +Florida LF11155123F000662 +Florida LF11155123F000663 +Florida LF11155123F000664 +Florida LF11155123F000665 +Florida LF11155123F000666 +Florida LF11155123F000667 +Florida LF11155123F000668 +Florida LF11155123F000669 +Florida LF11155123F000670 +Florida LF22212121M000671 +Florida LF22212121M000672 +Florida LF22212121M000673 +Florida LF22212121M000674 +Florida LF22212121M000675 +Florida LF22212121M000676 +Florida LF22212121M000677 +Florida LF22212121M000678 +Florida LF22223232F000679 +Florida LF22223232F000680 +Florida LF22223232F000681 +Florida LF22223232F000682 +Florida LF22223232F000683 +Florida LF22223232F000684 +Florida LF22223232F000685 +Florida LF22223232F000686 +Florida LF22223232F000687 +Florida LF22223232F000688 +Florida LF33323232F000689 +Florida LF33323232F000690 +Florida LF33334343M000691 +Florida LF33334343M000692 +Florida LF33334343M000693 +Florida LF33334343M000694 +Florida LF33334343M000695 +Florida LF33334343M000696 +Florida LF33334343M000697 +Florida LF33334343M000698 +Florida LF33334343M000699 +Florida LF33345343F000700 +Florida LF33345343F000701 +Florida LF33345343F000702 +Florida LF33345343F000703 +Florida LF33345343F000704 +Florida LF33345343F000705 +Florida LF33345343F000706 +Florida LF33345343F000707 +Florida LF33345343F000708 +Florida LF33345343F000709 +Florida LF33345343F000710 +Florida LF33345343F000711 +Florida LF33345343F000712 +Florida LF33345343F000713 +Florida LF33345343F000714 +New Jersey JN12365431M000715 +New Jersey JN12365431M000716 +New Jersey JN12365431M000717 +New Jersey JN12365431M000718 +New Jersey JN12366343F000719 +New Jersey JN12366343F000720 +New Jersey JN12366343F000721 +New Jersey JN12366343F000722 +New Jersey JN12366343F000723 +New Jersey JN12366343F000724 +New Jersey JN1244321M000725 +New Jersey JN1244321M000726 +New Jersey JN1244321M000727 +New Jersey JN1244321M000728 +New Jersey JN1245678F000729 +New Jersey JN1245678F000730 +New Jersey JN1245678F000731 +New Jersey JN1245678F000732 +New Jersey JN1248888F000733 +New Jersey JN1248888F000734 +New Jersey JN1248888F000735 +New Jersey JN1248888F000736 +New Jersey JN1250101M000737 +New Jersey JN1250101M000738 +New Jersey JN1250101M000739 +New Jersey JN1250101M000740 +New Jersey JN1250101M000741 +New Jersey JN1250101M000742 +New Jersey JN1250101M000743 +New Jersey JN12534010F000744 +New Jersey JN12534010F000745 +New Jersey JN12534010F000746 +New Jersey JN12534010F000747 +New Jersey JN12534010F000748 +New Jersey JN12534010F000749 +New Jersey JN12534010F000750 +New Jersey JN12534010F000751 +New Jersey JN12534010F000752 +New Jersey JN12556421M000753 +New Jersey JN12556421M000754 +New Jersey JN12556421M000755 +New Jersey JN12556421M000756 +New Jersey JN12556421M000757 +New Jersey JN12556421M000758 +New Jersey JN12556421M000759 +New Jersey JN12556421M000760 +New Jersey JN12556421M000761 +New Jersey JN12556421M000762 +New Jersey JN12556421M000763 +New Jersey JN12556421M000764 +New Jersey JN44414231F000765 +New Jersey JN44414231F000766 +New Jersey JN44414231F000767 +New Jersey JN44414233M000768 +New Jersey JN44415253F000769 +New Jersey JN44415253F000770 +New Jersey JN44415253F000771 +New Jersey JN44415253F000772 +New Jersey JN44426253F000773 +New Jersey JN44426253F000774 +New Jersey JN44426253F000775 +New Jersey JN44426253F000776 +New Jersey JN44426253F000777 +New Jersey JN44426253F000778 +New Jersey JN44426253F000779 +New Jersey JN44426253F000780 +New Jersey JN44426253F000781 +New Jersey JN44426253F010782 +New Jersey JN44426253F020783 +New Jersey JN44426253F030784 +New Jersey JN77731311M040785 +New Jersey JN77731311M050786 +New Jersey JN77731311M060787 +New Jersey JN77731321M070788 +New Jersey JN77731331M080789 +New Jersey JN77731341M090790 +New Jersey JN77731341M010791 +New Jersey JN77731361M020792 +New Jersey JN77731361M030793 +New Jersey JN77731371M040794 +New Jersey JN77731371M050795 +New Jersey JN77731371M060796 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2.cbl b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2.cbl new file mode 100644 index 0000000..3eb6192 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2.cbl @@ -0,0 +1,100 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing10-2. +AUTHOR. Michael Coughlan. +* Control Break program to process the Census file and produce +* a report that shows, for each county, the most popular surname +* and the number of times it occurs. +* The Records in the sequential Census file are ordered on +* ascending Surname within ascending CountyName. +* The report must be printed in ascending CountyName order + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. +SELECT CensusFile ASSIGN TO "Listing10-2TestData.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + +SELECT SurnameReport ASSIGN TO "Listing10-2.RPT" + ORGANIZATION IS LINE SEQUENTIAL. + + +DATA DIVISION. +FILE SECTION. +FD CensusFile. +01 CensusRec. + 88 EndOfCensusFile VALUE HIGH-VALUES. + 02 CensusNum PIC 9(8). + 02 Surname PIC X(20). + 02 CountyName PIC X(9). + +FD SurnameReport. +01 PrintLine PIC X(45). + + +WORKING-STORAGE SECTION. +01 ReportHeading. + 02 FILLER PIC X(13) VALUE SPACES. + 02 FILLER PIC X(22) + VALUE "Popular Surname Report". + +01 SubjectHeading. + 02 FILLER PIC X(42) + VALUE "CountyName Surname Count". + +01 CountySurnameLine. + 02 PrnCountyName PIC X(9). + 02 FILLER PIC X(3) VALUE SPACES. + 02 PrnSurname PIC X(20). + 02 PrnCount PIC BBBZZZ,ZZ9. + +01 ReportFooter PIC X(43) + VALUE "************* end of report ***************". + +01 PrevCountyName PIC X(9). +01 PrevSurname PIC X(20). +01 MostPopularSurname PIC X(20). +01 MostPopularCount PIC 9(6). +01 SurnameCount PIC 9(6). + +PROCEDURE DIVISION. +Begin. + OPEN INPUT CensusFile + OPEN OUTPUT SurnameReport + WRITE PrintLine FROM ReportHeading AFTER ADVANCING 1 LINE + WRITE PrintLine FROM SubjectHeading AFTER ADVANCING 1 LINE + + READ CensusFile + AT END SET EndOfCensusFile TO TRUE + END-READ + PERFORM UNTIL EndOfCensusFile + MOVE CountyName TO PrevCountyName, PrnCountyName + MOVE ZEROS TO MostPopularCount + MOVE SPACES TO MostPopularSurname + PERFORM FindMostPopularSurname + UNTIL CountyName NOT EQUAL TO PrevCountyName + OR EndOfCensusFile + MOVE MostPopularCount TO PrnCount + MOVE MostPopularSurname TO PrnSurname + WRITE PrintLine FROM CountySurnameLine AFTER ADVANCING 1 LINE + END-PERFORM + + WRITE PrintLine FROM ReportFooter AFTER ADVANCING 2 LINES + CLOSE CensusFile, SurnameReport + STOP RUN. + +FindMostPopularSurname. + MOVE Surname TO PrevSurname + PERFORM CountSurnameOccurs VARYING SurnameCount FROM 0 BY 1 + UNTIL Surname NOT EQUAL TO PrevSurname + OR CountyName NOT EQUAL TO PrevCountyName + OR EndOfCensusFile + + IF SurnameCount > MostPopularCount + MOVE SurnameCount TO MostPopularCount + MOVE PrevSurname TO MostPopularSurname + END-IF. + +CountSurnameOccurs. + READ CensusFile + AT END SET EndOfCensusFile TO TRUE + END-READ. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2TestData.Dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2TestData.Dat new file mode 100644 index 0000000..40d046c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-2TestData.Dat @@ -0,0 +1,7422 @@ +00660861AGNEW CARLOW +04358072AGNEW CARLOW +04418761AHERN CARLOW +08311181AHERN CARLOW +07778114AHERN CARLOW +06863734AHERN CARLOW +04402884AMBROSE CARLOW +08685554AMBROSE CARLOW +07792108ANDREWS CARLOW +00444018APPLEBY CARLOW +01057045APPLEBY CARLOW +05662481ASHE CARLOW +01031598ASHE CARLOW +00655862ASHE CARLOW +02988155ASHTON CARLOW +07726846BAKER CARLOW +07112469BAKER CARLOW +07148094BAKER CARLOW +03879251BARKER CARLOW +09206688BARKER CARLOW +09590803BARKER CARLOW +01843122BARKER CARLOW +07123677BARON CARLOW +00495541BARR CARLOW +06897641BARRY CARLOW +03609815BEGLEY CARLOW +04659971BERMINGHAM CARLOW +02865489BERMINGHAM CARLOW +09213182BERRY CARLOW +04518384BERRY CARLOW +01995917BERRY CARLOW +07455052BLAKE CARLOW +08731358BLAKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +08149499BOURKE CARLOW +01235152BOURKE CARLOW +04306342BOWLES CARLOW +06216164BRANNOCK CARLOW +08997179BRANNOCK CARLOW +05942398BRANNOCK CARLOW +09153045BRANNOCK CARLOW +05299349BREHONY CARLOW +01520090BREHONY CARLOW +09448352BRENNAN CARLOW +01702695BRENNAN CARLOW +08469884BRISLANE CARLOW +07263247BROUDER CARLOW +03338986BROWN CARLOW +03619531BROWNE CARLOW +07468304BROWNE CARLOW +09086934BROWNE CARLOW +09585860BROWNE CARLOW +00835222BROWNE CARLOW +09708885BURNS CARLOW +02986201BURNS CARLOW +03791766BURNS CARLOW +07137652BURNS CARLOW +01438642BURNS CARLOW +02321330CAHILL CARLOW +09138621CAHILL CARLOW +03902184CAHILL CARLOW +09303372CAHILL CARLOW +01842907CAREY CARLOW +00369716CASEY CARLOW +03227051CASEY CARLOW +00363089CASSIDY CARLOW +02734323CHAWKE CARLOW +08244861CHAWKE CARLOW +05336814CHAWKE CARLOW +05281855CLEARY CARLOW +09378183CLIFFORD CARLOW +04109430CLINTON CARLOW +04313643COFFEY CARLOW +04869817COHALAN CARLOW +03480118COHALAN CARLOW +07512782COLLINS CARLOW +06994051COLLINS CARLOW +05476139COLLINS CARLOW +03499540COLLINS CARLOW +05488140COLLINS CARLOW +05918272CONROY CARLOW +08264271COOKE CARLOW +02709307COUGHLAN CARLOW +07175470DE PAOR CARLOW +03969788DELANEY CARLOW +07705507DELANEY CARLOW +01095989DELANEY CARLOW +04608463DELANEY CARLOW +08892538DELANEY CARLOW +00400840DOHERTY CARLOW +08768536DOHERTY CARLOW +01894160DOHERTY CARLOW +03508656DOORLEY CARLOW +07285259DOORLEY CARLOW +03644611DOWLING CARLOW +05082352DOWLING CARLOW +03631371DOWNES CARLOW +04828803DOWNES CARLOW +08463878DOWNES CARLOW +03393122DURKAN CARLOW +05265935EATON CARLOW +05377284FENTON CARLOW +01056087FINE CARLOW +03432213FINE CARLOW +09790196FINE CARLOW +03707780FINN CARLOW +05107679FITZGERALD CARLOW +02435898FITZHENRY CARLOW +04734858FITZMAURICE CARLOW +00507062FITZMAURICE CARLOW +00375159FITZMAURICE CARLOW +09437145FLAHERTY CARLOW +07047255FLAHERTY CARLOW +05108382FLAHERTY CARLOW +04551383FLANAGAN CARLOW +09605730FLANNERY CARLOW +07965872FLANNERY CARLOW +00473902FLANNERY CARLOW +06343215FOLEY CARLOW +08437622FOLEY CARLOW +04158535FOLEY CARLOW +01204058FORDE CARLOW +00925052FORDE CARLOW +09177380GALWAY CARLOW +02226312GILL CARLOW +07151475GILL CARLOW +04077458GILL CARLOW +09332515GILL CARLOW +00102666GOGARTY CARLOW +08410038GRIMES CARLOW +09319832HALVEY CARLOW +05566449HANLY CARLOW +03244342HANNON CARLOW +02049077HEALY CARLOW +07774691HEHIR CARLOW +07226857HEHIR CARLOW +00584366HENCHY CARLOW +01297710HENCHY CARLOW +04233264HENCHY CARLOW +05082466HENCHY CARLOW +04307595HENCHY CARLOW +03004279HOGAN CARLOW +01560920JOHNSON CARLOW +08941273KEANE CARLOW +06365443KEANE CARLOW +08208469KEEHAN CARLOW +08551838KELLY CARLOW +00972675KELLY CARLOW +00426509LAWLOR CARLOW +01301715LAWLOR CARLOW +01992433LEAHY CARLOW +08915127LISTON CARLOW +07725947LITTLE CARLOW +08420499LITTLE CARLOW +07462123LITTLE CARLOW +06165852LYONS CARLOW +09911995LYONS CARLOW +06917053MACCURTIN CARLOW +04260846MACCURTIN CARLOW +02254252MACDONAGH CARLOW +08397458MACDONAGH CARLOW +03258130MACDONAGH CARLOW +02892736MADDEN CARLOW +05880901MANGAN CARLOW +00953703MANGAN CARLOW +08998386MANLEY CARLOW +00647215MANLEY CARLOW +06647624MANLEY CARLOW +02737382MCBRIDE CARLOW +01641543MCBRIDE CARLOW +00159977MCBRIDE CARLOW +04722881MCCORMICK CARLOW +00352216MCELLIGOTT CARLOW +05038136MCELLIGOTT CARLOW +04292794MCELLIGOTT CARLOW +06993013MCGRATH CARLOW +01048979MCGRATH CARLOW +00730694MCGRATH CARLOW +07680730MCNULTY CARLOW +04392028MCNULTY CARLOW +00750538MCNULTY CARLOW +05471276MCNULTY CARLOW +08634172MCNULTY CARLOW +00777285MITCHELL CARLOW +07630332MOLLOY CARLOW +04563787MOLLOY CARLOW +07430263MURRAY CARLOW +08503876MURRAY CARLOW +07409282MURRAY CARLOW +03847157NOONE CARLOW +08558118O'BRIEN CARLOW +03241951O'BRIEN CARLOW +04474353O'CONNELL CARLOW +00250759O'CONNELL CARLOW +08366210O'CONNOR CARLOW +02023820O'CONNOR CARLOW +03868121O'DWYER CARLOW +03706005O'DWYER CARLOW +03126419O'GRADY CARLOW +02934447O'GRADY CARLOW +03077767O'GRADY CARLOW +08232020O'GRADY CARLOW +09678465O'HALLORAN CARLOW +01269393O'HALLORAN CARLOW +01373804O'HARA CARLOW +01746235O'MAIDIN CARLOW +07886133O'MAIDIN CARLOW +09175065O'NEILL CARLOW +05136789O'NEILL CARLOW +05477827O'ROURKE CARLOW +07705934O'SHEA CARLOW +00899567O'SULLIVAN CARLOW +02391379O'SULLIVAN CARLOW +06072688O'SULLIVAN CARLOW +02669735POWER CARLOW +02864989PURCELL CARLOW +04929956QUAID CARLOW +09477122QUANE CARLOW +05658435QUILLE CARLOW +06916520QUILLE CARLOW +05657401REIDY CARLOW +08774735REIDY CARLOW +09430231RELIHAN CARLOW +08859571RELIHAN CARLOW +02819564REYNOLDS CARLOW +01375618RICHARDSON CARLOW +09767176SHEAHAN CARLOW +09708789SHEAHAN CARLOW +09928851SHEEHY CARLOW +04050782SHINNERS-KENNEDY CARLOW +01423486SHINNERS-KENNEDY CARLOW +07537730SLATTERY CARLOW +00596687SLATTERY CARLOW +00896062STANLEY-SMITH CARLOW +09016373THOMSON CARLOW +01237457THORNTON CARLOW +03472678VAUGHAN CARLOW +00723711VAUGHAN CARLOW +01516916VAUGHAN CARLOW +05109380WHEALAN CARLOW +06861596WHEALAN CARLOW +01093355WILLIAMS CARLOW +00128143WOODS CARLOW +06132623WOODS CARLOW +01491537WOODS CARLOW +01770464WOODS CARLOW +08851209WOODS CARLOW +07897398YOUNG CARLOW +08511429AGNEW CAVAN +01084281AHERN CAVAN +05312970AHERN CAVAN +05906073AMBROSE CAVAN +03079190AMBROSE CAVAN +04384574ANDREWS CAVAN +05423372ANGLAND CAVAN +07482056APPLEBY CAVAN +08432424ASHTON CAVAN +02762492ATKINS CAVAN +09413942ATKINS CAVAN +05268553ATKINS CAVAN +07109393ATKINS CAVAN +01669963BAILEY CAVAN +01908991BANNON CAVAN +08941884BANNON CAVAN +04242065BARKER CAVAN +09993854BARLOW CAVAN +01475573BARON CAVAN +01922668BARR CAVAN +06197082BARR CAVAN +03739081BARR CAVAN +03297504BARRETT CAVAN +01590648BARRETT CAVAN +03010053BARRY CAVAN +08246311BARTON CAVAN +03116346BEGLEY CAVAN +04200366BERMINGHAM CAVAN +04896361BERMINGHAM CAVAN +00996030BERRY CAVAN +08869961BIRD CAVAN +04389649BIRD CAVAN +00227967BOLAND CAVAN +07746589BOLAND CAVAN +03188092BOLAND CAVAN +04422136BOLGER CAVAN +09664808BOURKE CAVAN +09392459BOURKE CAVAN +03533126BRANNOCK CAVAN +09360944BRANNOCK CAVAN +00794422BRANNOCK CAVAN +00242174BREEN CAVAN +09565268BREEN CAVAN +05861455BREHONY CAVAN +01211911BRENNAN CAVAN +00753702BRISLANE CAVAN +05939546BROUDER CAVAN +06375340BROUDER CAVAN +07991233BROWN CAVAN +03016574BUCKELY CAVAN +01862084BURNS CAVAN +00781884BURNS CAVAN +00789974CAHILL CAVAN +01226707CASEY CAVAN +01448621CASSIDY CAVAN +04755403CHAWKE CAVAN +04141715CLEARY CAVAN +06511879CLEARY CAVAN +04114960CLEARY CAVAN +02284193CLEARY CAVAN +03698054CLIFFORD CAVAN +00373256CLUNE CAVAN +03225058COAKLEY CAVAN +05799400COFFEY CAVAN +02019479COFFEY CAVAN +01134042COLEMAN CAVAN +06182501COLEMAN CAVAN +01259121COLEMAN CAVAN +02345306COLEMAN CAVAN +01008649COLLINS CAVAN +01363528COLLINS CAVAN +03056296COLLINS CAVAN +02252655COLLINS CAVAN +02408000COLLINS CAVAN +09096157COLLINS CAVAN +07793382COLLINS CAVAN +03878355CONROY CAVAN +05461090CONROY CAVAN +09880206CONROY CAVAN +04067367COOKE CAVAN +04828131COOKE CAVAN +02345337COOKE CAVAN +06799055COOKE CAVAN +06105701COUGHLAN CAVAN +05328101COUGHLAN CAVAN +07690651COUGHLAN CAVAN +07076917COUGHLAN CAVAN +04812960COUGHLAN CAVAN +06351021DALY CAVAN +04847119DALY CAVAN +08364400DE PAOR CAVAN +04591215DE PAOR CAVAN +00991663DEE CAVAN +04010287DEE CAVAN +09205138DEE CAVAN +04362114DELANEY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +08374468DOHERTY CAVAN +02841644DOHERTY CAVAN +00918356DOORLEY CAVAN +07047902DOORLEY CAVAN +09544587DOORLEY CAVAN +07393181DOORLEY CAVAN +04910274DOWLING CAVAN +02593566DOWNES CAVAN +08390097DOWNES CAVAN +01908757DOWNES CAVAN +08655305DOWNES CAVAN +00323370DURKAN CAVAN +03162844DURKAN CAVAN +02417989DURKAN CAVAN +06142335DWAN CAVAN +00506454DWAN CAVAN +07574978DWAN CAVAN +06659757EATON CAVAN +02933535FENTON CAVAN +00943937FENTON CAVAN +02071913FENTON CAVAN +02178390FENTON CAVAN +07696932FINE CAVAN +01527741FINE CAVAN +04146614FINE CAVAN +09900632FINN CAVAN +03170171FITZHENRY CAVAN +01448484FITZMAURICE CAVAN +09653224FITZPATRICK CAVAN +04151026FLAHERTY CAVAN +04918791FLAHERTY CAVAN +03504433FLAHERTY CAVAN +01209559FLANAGAN CAVAN +05619994FLANNERY CAVAN +04709750FLYNN CAVAN +06524328FOLEY CAVAN +01372671FOLEY CAVAN +05214288GILL CAVAN +07797022GILL CAVAN +02168210GOGARTY CAVAN +06604404GOGARTY CAVAN +02931979GREEN CAVAN +05936635HANNON CAVAN +08824162HAYES CAVAN +02909003HAYES CAVAN +03575945HEALY CAVAN +04040250HEALY CAVAN +00626790HEHIR CAVAN +07022710HENCHY CAVAN +01332364HENCHY CAVAN +06436710HOGAN CAVAN +01584133JOHNSON CAVAN +01156754JOHNSON CAVAN +00434281JOHNSON CAVAN +03638630JOHNSON CAVAN +03963435JONES CAVAN +04713354KEANE CAVAN +03779085KEEHAN CAVAN +02280587KEEHAN CAVAN +02906422KENNEDY CAVAN +01763970KENNEDY CAVAN +00082887KENNEDY CAVAN +02881397KEYES CAVAN +00372187KEYES CAVAN +02323095LAWLOR CAVAN +08345058LEAHY CAVAN +08700261LEAMY CAVAN +07577676LEDDIN CAVAN +00581756LEDDIN CAVAN +07710331LEDDIN CAVAN +01279717LEDDIN CAVAN +03028611LISTON CAVAN +03177436LOVETT CAVAN +05089461LYONS CAVAN +04860567LYONS CAVAN +08038882MACCURTIN CAVAN +04802537MACCURTIN CAVAN +01402687MACCURTIN CAVAN +00124164MADDEN CAVAN +04686837MADDEN CAVAN +02485106MALONE CAVAN +01176132MALONE CAVAN +08378939MALONE CAVAN +07930587MANLEY CAVAN +06590602MANLEY CAVAN +02925947MCCORMACK CAVAN +08185832MCCORMACK CAVAN +08377181MCCORMICK CAVAN +04619224MCCORMICK CAVAN +01677476MCDONAGH CAVAN +01768259MCDONNELL CAVAN +09215566MCDONNELL CAVAN +09310684MCNAMARA CAVAN +04200811MCNAMARA CAVAN +03656065MCNULTY CAVAN +02747826MITCHELL CAVAN +08928882MOLONEY CAVAN +06426681MOYNIHAN CAVAN +07590717MURRAY CAVAN +01981950MURRAY CAVAN +04085138MURRAY CAVAN +00858616NOONE CAVAN +06849833O'BRIEN CAVAN +04996115O'CONNELL CAVAN +05036441O'CONNELL CAVAN +03355326O'CONNELL CAVAN +04527300O'CONNELL CAVAN +04505926O'CONNELL CAVAN +07586495O'CONNOR CAVAN +05088042O'CONNOR CAVAN +05367248O'DWYER CAVAN +01053213O'DWYER CAVAN +04411637O'DWYER CAVAN +08831835O'GORMAN CAVAN +00687992O'HALLORAN CAVAN +03579978O'MAIDIN CAVAN +08630464O'MAIDIN CAVAN +04467692O'NEILL CAVAN +08827738O'SHEA CAVAN +04419076O'SULLIVAN CAVAN +04847668POWER CAVAN +03738611PURCELL CAVAN +06670098PURCELL CAVAN +06152872QUAID CAVAN +05942824QUAID CAVAN +00343456QUANE CAVAN +04016976QUANE CAVAN +09441735QUILLE CAVAN +02618293QUIN CAVAN +06192367QUIN CAVAN +06180343QUIN CAVAN +01259252QUIN CAVAN +06980173REIDY CAVAN +09010006REIDY CAVAN +03074687RELIHAN CAVAN +03260345RELIHAN CAVAN +01679039RELIHAN CAVAN +00751635REYNOLDS CAVAN +09930121REYNOLDS CAVAN +03367145REYNOLDS CAVAN +05951401REYNOLDS CAVAN +00013377RICHARDSON CAVAN +03573592RUTLAND CAVAN +03473366RUTLAND CAVAN +03720861RUTLAND CAVAN +04848783RYAN CAVAN +05783930RYAN CAVAN +04564634RYAN CAVAN +02841864RYAN CAVAN +02070874RYAN CAVAN +09450888SAVAGE CAVAN +06596813SCANLON CAVAN +09296130SCANLON CAVAN +06223135SCANLON CAVAN +04659128SCANNELL CAVAN +03072441SHEAHAN CAVAN +09208296SHEAHAN CAVAN +02019467SHEEHY CAVAN +06108544SHEEHY CAVAN +04005440SHEEHY CAVAN +01597330SHEEHY CAVAN +05271101SHEEHY CAVAN +05420103SHINNERS CAVAN +04721000SHINNERS CAVAN +01522246SHINNERS-KENNEDY CAVAN +09943770STANLEY-SMITH CAVAN +02815782STANLEY-SMITH CAVAN +07929963STANLEY-SMITH CAVAN +00591615SUTCLIFFE CAVAN +08223176THOMSON CAVAN +01060472THORNTON CAVAN +04121531THORNTON CAVAN +01043549TRIMBLE CAVAN +07205563WHEALAN CAVAN +08496868WHEALAN CAVAN +01175993WHITE CAVAN +06330089WHITE CAVAN +07803955WILLIAMS CAVAN +03274395WILLIAMS CAVAN +09388188WOODS CAVAN +05223995AGNEW CLARE +00231215AGNEW CLARE +05353895AHERN CLARE +05699888AHERN CLARE +04150379ALLEN CLARE +09859193AMBROSE CLARE +02646532ANDREWS CLARE +06316079ANDREWS CLARE +00870683ANDREWS CLARE +00797368ANGLAND CLARE +05818231ANGLAND CLARE +07747726APPLEBY CLARE +04326106ASHTON CLARE +08835309ATKINS CLARE +02429636ATKINS CLARE +03230506BAILEY CLARE +04356007BAILEY CLARE +06622935BAILEY CLARE +06854844BAILEY CLARE +04321498BAILEY CLARE +01223449BAKER CLARE +05387048BAKER CLARE +04057454BANNON CLARE +05518604BANNON CLARE +07721343BARKER CLARE +07592291BARLOW CLARE +06803947BARLOW CLARE +03697337BARLOW CLARE +01120317BARON CLARE +05001885BARR CLARE +08398184BARRETT CLARE +09395319BARRETT CLARE +09079696BARRETT CLARE +06265550BARRY CLARE +02828819BARRY CLARE +03858496BARTON CLARE +02332069BARTON CLARE +04805195BARTON CLARE +08599105BARTON CLARE +05653379BARTON CLARE +08665552BEGLEY CLARE +03775110BEGLEY CLARE +07238760BEGLEY CLARE +00263923BEGLEY CLARE +09776023BERRY CLARE +06795539BERRY CLARE +09064791BERRY CLARE +02013086BOLGER CLARE +09794322BOURKE CLARE +06742904BOWLES CLARE +09097050BRANNOCK CLARE +08011611BRANNOCK CLARE +07373184BRANNOCK CLARE +00803998BREEN CLARE +08966545BREEN CLARE +03968512BRENNAN CLARE +02720836BRENNAN CLARE +02683801BRENNAN CLARE +06172716BRENNAN CLARE +02220971BRENNAN CLARE +02429704BRISLANE CLARE +09111258BROUDER CLARE +07651180BROUDER CLARE +00629454BROWN CLARE +07076213BROWNE CLARE +03066123BUCKELY CLARE +08897154BURNS CLARE +02241699CAHILL CLARE +06977185CASEY CLARE +05435594CASSIDY CLARE +04036554CASSIDY CLARE +04582303CHAWKE CLARE +02764116CLEARY CLARE +03799884CLINTON CLARE +03144145CLINTON CLARE +00026675CLUNE CLARE +03554989COAKLEY CLARE +06150429COAKLEY CLARE +08360993COFFEY CLARE +03750955COHALAN CLARE +06366226COLLINS CLARE +07421027COLLINS CLARE +06826063COLLINS CLARE +02423946CONROY CLARE +01013957CONROY CLARE +09981002CONROY CLARE +04490185COUGHLAN CLARE +02231760COUGHLAN CLARE +08094512DALY CLARE +08693179DALY CLARE +06323545DALY CLARE +06974883DE PAOR CLARE +01314088DEE CLARE +01685664DEE CLARE +07030203DEE CLARE +06110261DELANEY CLARE +08116837DOHERTY CLARE +08168476DOHERTY CLARE +09376643DOWLING CLARE +01851523DOWLING CLARE +06851016DOWLING CLARE +05113917DOWLING CLARE +00345562DOWLING CLARE +08471003DOWNES CLARE +04787059DOWNES CLARE +08263421DURKAN CLARE +06742070DURKAN CLARE +06069442EATON CLARE +05249599FENTON CLARE +05768661FENTON CLARE +08873230FENTON CLARE +03324048FINE CLARE +04633335FINE CLARE +06070611FINN CLARE +01313562FINN CLARE +02978346FITZGERALD CLARE +07457787FITZGERALD CLARE +01011354FITZGERALD CLARE +05295024FITZGERALD CLARE +08535025FITZGERALD CLARE +08844055FITZHENRY CLARE +04859312FITZHENRY CLARE +00114597FITZPATRICK CLARE +02135651FITZPATRICK CLARE +04425553FLAHERTY CLARE +06787387FLAHERTY CLARE +06519895FLAHERTY CLARE +06797085FLANAGAN CLARE +01214801FLANNERY CLARE +05845079FLYNN CLARE +05348843FOLEY CLARE +02979424FOLEY CLARE +02753389FOLEY CLARE +04737253FORDE CLARE +07049640FORDE CLARE +09063345GALWAY CLARE +07822422GILL CLARE +01562539GILL CLARE +08340752GILL CLARE +07560796GILL CLARE +06645418GILL CLARE +00700935GREEN CLARE +07323489GREEN CLARE +08361135GREEN CLARE +01720254GREEN CLARE +00817558GRIMES CLARE +05713186GRIMES CLARE +03048032HALVEY CLARE +04884914HANLY CLARE +08713441HANLY CLARE +00713427HANNON CLARE +09511748HANNON CLARE +02361242HEHIR CLARE +09662450HEHIR CLARE +04402290HEHIR CLARE +05092643HENCHY CLARE +06606761HOGAN CLARE +01291615HOGAN CLARE +00702596JOHNSON CLARE +09145202JOHNSON CLARE +07173819JONES CLARE +04543043JONES CLARE +05710064JONES CLARE +00057890JONES CLARE +00502516KEEHAN CLARE +04597819KEEHAN CLARE +00196198KELLY CLARE +06198472KELLY CLARE +00964790KELLY CLARE +03517128KENNEDY CLARE +03734034KENNEDY CLARE +06781794KENNEDY CLARE +06659448LAWLOR CLARE +02465544LAWLOR CLARE +08322509LEDDIN CLARE +01041763LISTON CLARE +08113788LISTON CLARE +09030199LITTLE CLARE +07956359LOVETT CLARE +00663993LYONS CLARE +07600004MACCURTIN CLARE +07072000MACDONAGH CLARE +09971148MACDONAGH CLARE +01733616MACDONAGH CLARE +02506817MADDEN CLARE +09596506MALONE CLARE +07309470MANGAN CLARE +00224653MANGAN CLARE +03009168MANLEY CLARE +01520850MANLEY CLARE +08577163MANLEY CLARE +09478964MCBRIDE CLARE +08762956MCBRIDE CLARE +02336948MCBRIDE CLARE +08709001MCBRIDE CLARE +09971341MCDONAGH CLARE +09094383MCDONAGH CLARE +09369308MCDONAGH CLARE +08698288MCDONAGH CLARE +01354192MCELLIGOTT CLARE +05266210MCELLIGOTT CLARE +07044711MCGRATH CLARE +09393833MCGUIRE CLARE +00295901MCGUIRE CLARE +02726681MCNAMARA CLARE +04774996MCNULTY CLARE +04566360MCNULTY CLARE +02181699MITCHELL CLARE +00054241MOLONEY CLARE +04456198MOYNIHAN CLARE +09461009MOYNIHAN CLARE +05675871NOONE CLARE +09498032NOONE CLARE +07897747O'BRIEN CLARE +05940259O'BRIEN CLARE +03870959O'DWYER CLARE +07025426O'DWYER CLARE +08974613O'GORMAN CLARE +05898554O'GORMAN CLARE +00315325O'HALLORAN CLARE +08213502O'HARA CLARE +06918529O'HARA CLARE +05147827O'HARA CLARE +07100929O'MAIDIN CLARE +03792863O'MAIDIN CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08176932O'NEILL CLARE +09545705O'NEILL CLARE +01478296O'NEILL CLARE +07863597O'NEILL CLARE +05688668O'NEILL CLARE +00031392O'NEILL CLARE +08083299O'REAGAN CLARE +01232359O'ROURKE CLARE +08843211O'ROURKE CLARE +09348023O'ROURKE CLARE +02092277O'SHEA CLARE +06758960O'SULLIVAN CLARE +08578105POWER CLARE +02859123PURCELL CLARE +04392311PURCELL CLARE +03014668QUAID CLARE +09232979QUAID CLARE +00531875QUILLE CLARE +04608206QUILLE CLARE +05836925QUIN CLARE +04932458REIDY CLARE +03116771RELIHAN CLARE +04009759RELIHAN CLARE +08081640RELIHAN CLARE +08639523REYNOLDS CLARE +05475434RICHARDSON CLARE +07682114RUTLAND CLARE +09338424RUTLAND CLARE +04824622RUTLAND CLARE +01048031SAVAGE CLARE +06414555SCANNELL CLARE +01310888SHEAHAN CLARE +03070959SHEAHAN CLARE +04604164SHEEHY CLARE +01570355SHINNERS CLARE +01013777SHINNERS-KENNEDY CLARE +00689963SLATER CLARE +02647397SLATTERY CLARE +00034609SPILLANE CLARE +02680370SPILLANE CLARE +06057214SPILLANE CLARE +05725505STANLEY-SMITH CLARE +05101378SUTCLIFFE CLARE +08200463SUTCLIFFE CLARE +08386134SUTCLIFFE CLARE +09806647THOMSON CLARE +05411896TRIMBLE CLARE +05128678TRIMBLE CLARE +04109549VAUGHAN CLARE +07003121WHEALAN CLARE +06586531WHITE CLARE +00572024WILLIAMS CLARE +07967400WILLIAMS CLARE +04707755YOUNG CLARE +03772609AGNEW CORK +02200352AHERN CORK +05861032AHERN CORK +09482602AHERN CORK +04905681AHERN CORK +06216112AMBROSE CORK +01283047AMBROSE CORK +02079316ANDREWS CORK +02523496ANGLAND CORK +02288907ANGLAND CORK +02486636APPLEBY CORK +08094653ASHE CORK +09957903ASHTON CORK +06896673ATKINS CORK +09298533BAILEY CORK +09825709BAKER CORK +06688475BAKER CORK +02021337BAKER CORK +07591887BANNON CORK +07791527BARLOW CORK +05763484BARON CORK +04020092BARON CORK +08640227BARR CORK +02897013BARR CORK +08197911BARRETT CORK +03479456BARRY CORK +05542268BARTON CORK +09395356BARTON CORK +08065567BEGLEY CORK +09498077BLAKE CORK +03034378BOLAND CORK +00725039BOLAND CORK +09529170BOLGER CORK +04896696BOURKE CORK +03907929BRANNOCK CORK +08184230BRANNOCK CORK +02266525BRANNOCK CORK +01112114BRANNOCK CORK +04644344BRANNOCK CORK +08340749BREHONY CORK +05837158BRENNAN CORK +05474215BRENNAN CORK +08545183BRENNAN CORK +05225641BRISLANE CORK +03874577BRISLANE CORK +07311486BROUDER CORK +00167220BROUDER CORK +01390110BROUDER CORK +06255984BROWN CORK +05569467BROWN CORK +06835332BROWNE CORK +06637385BROWNE CORK +06502673BROWNE CORK +02257693BROWNE CORK +00814869BROWNE CORK +03496854BUCKELY CORK +03253764CAHILL CORK +09641570CAREY CORK +09795239CARRIGG CORK +05685734CASSIDY CORK +05253923CHAWKE CORK +02301946CLUNE CORK +00882823COAKLEY CORK +03225848COAKLEY CORK +00822629COAKLEY CORK +08464435COAKLEY CORK +01937009COAKLEY CORK +02902658COHALAN CORK +04018773COHALAN CORK +03211106COLEMAN CORK +07751346COLLINS CORK +06253093COLLINS CORK +02137524COLLINS CORK +00274801COLLINS CORK +05974855COLLINS CORK +09646551COLLINS CORK +02513327COLLINS CORK +02740391COLLINS CORK +04992243COLLINS CORK +09723946COLLINS CORK +02035669CONROY CORK +08510685CONROY CORK +01373565COUGHLAN CORK +01117035DE PAOR CORK +00995066DOHERTY CORK +09568957DOOGAN CORK +08449622DOOGAN CORK +07340940DOORLEY CORK +00242008DOWNES CORK +08932259DOWNES CORK +00407223DURKAN CORK +08166097DURKAN CORK +07092174EATON CORK +01409624FINE CORK +08504652FINN CORK +04117950FITZGERALD CORK +09206031FITZGERALD CORK +01795129FITZHENRY CORK +01576658FITZPATRICK CORK +08368568FLAHERTY CORK +05127579FLAHERTY CORK +08900768FLAHERTY CORK +00294630FLANAGAN CORK +03692914FLANAGAN CORK +03091244FLANAGAN CORK +09876707FLANAGAN CORK +00730671FLANNERY CORK +02100183FLANNERY CORK +04660850FLANNERY CORK +08184842FLYNN CORK +05560993FLYNN CORK +00840492FLYNN CORK +08970019FLYNN CORK +04433818FLYNN CORK +03877021FOLEY CORK +00067156FORDE CORK +08175525FORDE CORK +03543891FORDE CORK +00753595GALWAY CORK +04902958GILL CORK +03736139GREEN CORK +02513272GREEN CORK +03389455GRIMES CORK +07344384GRIMES CORK +04363018GRIMES CORK +06643998HALVEY CORK +00671498HALVEY CORK +02838309HANLY CORK +04575544HANLY CORK +08163653HANLY CORK +04884502HANNON CORK +01193797HAYES CORK +00204595HAYES CORK +00501035HEALY CORK +08045967HEALY CORK +03160153HEHIR CORK +05891950HEHIR CORK +01202124HENCHY CORK +06975466HENCHY CORK +04707753HENCHY CORK +08289670HOGAN CORK +05584628HOGAN CORK +02821458JONES CORK +04552847KEANE CORK +04028635KEANE CORK +04637527KEANE CORK +01385318KEEHAN CORK +02423809KELLY CORK +06342040KELLY CORK +03476580KENNEDY CORK +01759585KENNEDY CORK +06500346KEYES CORK +04437960KEYES CORK +09582043KEYES CORK +07219645LAWLOR CORK +04739818LEAHY CORK +02299531LEAHY CORK +01313050LEAHY CORK +00270144LEAMY CORK +01657207LEAMY CORK +09188009LEAMY CORK +07853539LONG CORK +01029993LOVETT CORK +03025719LOVETT CORK +02431227MACCURTIN CORK +09551987MACCURTIN CORK +09997506MACDONAGH CORK +08025605MALONE CORK +07254812MALONE CORK +01330891MANGAN CORK +06065207MANGAN CORK +00571288MANLEY CORK +09732841MANLEY CORK +07491150MCBRIDE CORK +02099326MCCORMACK CORK +07640357MCCORMACK CORK +04605253MCCORMICK CORK +07080335MCCORMICK CORK +01530575MCDONAGH CORK +05564558MCDONNELL CORK +01244880MCDONNELL CORK +01779463MCGRATH CORK +02458815MCGUIRE CORK +00962847MCGUIRE CORK +00360062MCNAMARA CORK +02123803MITCHELL CORK +05450193MITCHELL CORK +07216658MOLLOY CORK +05913810MOLLOY CORK +06362557MURPHY CORK +04180861MURPHY CORK +01434471MURPHY CORK +01225978MURRAY CORK +05419664MURRAY CORK +04180092NOONE CORK +08067973NOONE CORK +00886542NOONE CORK +07061690NOONE CORK +01833108NOONE CORK +06103543NOONE CORK +06984957O'BRIEN CORK +01190832O'CONNELL CORK +05065930O'CONNELL CORK +03140479O'CONNELL CORK +04404061O'CONNOR CORK +01421106O'DWYER CORK +06565668O'GORMAN CORK +03145270O'GORMAN CORK +01985639O'GRADY CORK +00337631O'GRADY CORK +08239731O'GRADY CORK +01169196O'HARA CORK +01099369O'HARA CORK +07410842O'REAGAN CORK +01032161O'REAGAN CORK +08647527O'ROURKE CORK +09185110O'ROURKE CORK +05200786O'ROURKE CORK +01540408O'SHEA CORK +07250617O'SHEA CORK +08011387O'SULLIVAN CORK +03570902O'SULLIVAN CORK +00001832POWER CORK +04108232PURCELL CORK +07126263QUAID CORK +07070260QUANE CORK +05136660QUILLE CORK +02376251QUIN CORK +02119393REIDY CORK +09488675REIDY CORK +05342357REIDY CORK +04366657RELIHAN CORK +00050780REYNOLDS CORK +08790220REYNOLDS CORK +00516112REYNOLDS CORK +09046677RUTLAND CORK +07393469RUTLAND CORK +09914826RUTLAND CORK +07693361RYAN CORK +00034427RYAN CORK +09382764RYAN CORK +03476280SCANLON CORK +02065708SCANNELL CORK +01952037SHEEHY CORK +00823402SHEEHY CORK +02052483SHEEHY CORK +03269214SHINNERS CORK +07918742SHINNERS-KENNEDY CORK +01933972SLATER CORK +04931208SLATER CORK +02224929SLATER CORK +02875926SLATTERY CORK +03576108SOMERS CORK +02361016SOMERS CORK +09137704SPILLANE CORK +09470318SPILLANE CORK +05303967SUTCLIFFE CORK +08737008THORNTON CORK +01426255THORNTON CORK +06371518THORNTON CORK +02210325THORNTON CORK +06141409TRIMBLE CORK +03427019VAUGHAN CORK +07245726WHEALAN CORK +01001711WILLIAMS CORK +08745325WILLIAMS CORK +07196596WOODS CORK +09018459YOUNG CORK +05027494AMBROSE DONEGAL +09901194ANDREWS DONEGAL +06620605ANDREWS DONEGAL +04266400ANGLAND DONEGAL +08679456ANGLAND DONEGAL +07226446ANGLAND DONEGAL +00854614APPLEBY DONEGAL +05339992APPLEBY DONEGAL +03417929ASHE DONEGAL +08988305ASHTON DONEGAL +09479858ASHTON DONEGAL +01933362ATKINS DONEGAL +09059686ATKINS DONEGAL +05318335BAILEY DONEGAL +01347258BAKER DONEGAL +02064155BAKER DONEGAL +09931655BAKER DONEGAL +07090904BARLOW DONEGAL +04424816BARLOW DONEGAL +08608240BARR DONEGAL +08889667BARRETT DONEGAL +00649679BARRETT DONEGAL +01207214BARRY DONEGAL +06853864BARTON DONEGAL +04991525BARTON DONEGAL +09275660BEGLEY DONEGAL +03014156BEGLEY DONEGAL +07002543BEGLEY DONEGAL +02030643BERMINGHAM DONEGAL +07903362BLAKE DONEGAL +02763539BLAKE DONEGAL +09501137BLAKE DONEGAL +01536536BOLAND DONEGAL +09594803BOLAND DONEGAL +00516296BOLGER DONEGAL +05366091BOURKE DONEGAL +04057835BOWLES DONEGAL +05999532BREEN DONEGAL +02560886BREEN DONEGAL +02452827BREHONY DONEGAL +00923567BRENNAN DONEGAL +01569467BRENNAN DONEGAL +02587413BRISLANE DONEGAL +03448950BRISLANE DONEGAL +08731578BROUDER DONEGAL +07725724BROWN DONEGAL +02083563BROWN DONEGAL +08074814BROWN DONEGAL +08191901BROWN DONEGAL +06039377BROWN DONEGAL +09655772BURNS DONEGAL +02059761BURNS DONEGAL +06648905BURNS DONEGAL +07492006BURNS DONEGAL +04508591BURNS DONEGAL +08604869CAHILL DONEGAL +05288500CAHILL DONEGAL +00419427CAREY DONEGAL +06747706CAREY DONEGAL +04871103CAREY DONEGAL +03777896CASEY DONEGAL +08959666CHAWKE DONEGAL +02815650CLEARY DONEGAL +06724680CLIFFORD DONEGAL +04270289CLINTON DONEGAL +07739434COLLINS DONEGAL +06644828COLLINS DONEGAL +03808105CONROY DONEGAL +07870079CONROY DONEGAL +07037701COOKE DONEGAL +09220018COOKE DONEGAL +01068947COUGHLAN DONEGAL +07573374COUGHLAN DONEGAL +03824264COUGHLAN DONEGAL +06263473DALY DONEGAL +07513480DE PAOR DONEGAL +07585833DEE DONEGAL +02580928DEE DONEGAL +08212973DEE DONEGAL +05171959DOOGAN DONEGAL +08465919DOOGAN DONEGAL +07518649DOORLEY DONEGAL +01937530DOORLEY DONEGAL +05536966DOORLEY DONEGAL +03893770DOWNES DONEGAL +07641144DOWNES DONEGAL +00604183DOWNES DONEGAL +06098555DWAN DONEGAL +03046376EATON DONEGAL +08116695FENTON DONEGAL +05955008FENTON DONEGAL +01138786FINE DONEGAL +07279555FITZGERALD DONEGAL +05174052FITZMAURICE DONEGAL +02536842FITZMAURICE DONEGAL +02451044FITZPATRICK DONEGAL +09076907FITZPATRICK DONEGAL +05035345FLANAGAN DONEGAL +03426250FLANNERY DONEGAL +02649546FLANNERY DONEGAL +04582452FLANNERY DONEGAL +09823752FLYNN DONEGAL +08622871FOLEY DONEGAL +01758943FORDE DONEGAL +07494385GOGARTY DONEGAL +00679495GREEN DONEGAL +06893847GRIMES DONEGAL +08347330GRIMES DONEGAL +00890861GRIMES DONEGAL +08428106HALVEY DONEGAL +09970812HALVEY DONEGAL +09114207HANLY DONEGAL +09387511HANLY DONEGAL +07377539HANLY DONEGAL +06627047HANNON DONEGAL +00792671HANNON DONEGAL +07565358HEALY DONEGAL +09717436HOGAN DONEGAL +00568247JOHNSON DONEGAL +04309366JONES DONEGAL +02814905KELLY DONEGAL +01009597KENNEDY DONEGAL +08027606LAWLOR DONEGAL +04223115LEAHY DONEGAL +05638746LEAMY DONEGAL +09296082LEAMY DONEGAL +01545287LEAMY DONEGAL +06346292LEDDIN DONEGAL +06481584LITTLE DONEGAL +07163401LONG DONEGAL +02578828LONG DONEGAL +05230181LONG DONEGAL +03501243LONG DONEGAL +03811794LOVETT DONEGAL +05590622LOVETT DONEGAL +00459036LYONS DONEGAL +07002631LYONS DONEGAL +00449268MACCURTIN DONEGAL +03583694MADDEN DONEGAL +05698952MADDEN DONEGAL +09263403MALONE DONEGAL +04226609MALONE DONEGAL +05048751MANGAN DONEGAL +01807411MANLEY DONEGAL +07127482MANLEY DONEGAL +05338189MANLEY DONEGAL +08437662MCBRIDE DONEGAL +06995331MCBRIDE DONEGAL +08678936MCCORMACK DONEGAL +00669580MCCORMICK DONEGAL +06902100MCDONAGH DONEGAL +04018524MCDONAGH DONEGAL +07970268MCDONAGH DONEGAL +08799821MCDONNELL DONEGAL +03027114MCDONNELL DONEGAL +06683425MCDONNELL DONEGAL +02041153MCGRATH DONEGAL +02526634MCGUIRE DONEGAL +03113344MCNAMARA DONEGAL +01399675MCNAMARA DONEGAL +01801876MCNAMARA DONEGAL +01642385MCNULTY DONEGAL +09863779MCNULTY DONEGAL +03642153MOLLOY DONEGAL +03309143MOLONEY DONEGAL +06027548MOLONEY DONEGAL +04199765MOYNIHAN DONEGAL +03785325MURPHY DONEGAL +09870628MURRAY DONEGAL +02601274MURRAY DONEGAL +03793568MURRAY DONEGAL +06578665O'BRIEN DONEGAL +00070185O'BRIEN DONEGAL +09251266O'DWYER DONEGAL +04509387O'DWYER DONEGAL +00445954O'GORMAN DONEGAL +03710385O'GORMAN DONEGAL +02603262O'GRADY DONEGAL +09939813O'HALLORAN DONEGAL +06245959O'HALLORAN DONEGAL +04941758O'HARA DONEGAL +06559090O'HARA DONEGAL +02953555O'HARA DONEGAL +04940100O'HARA DONEGAL +08297351O'NEILL DONEGAL +03497284O'REAGAN DONEGAL +07447685O'ROURKE DONEGAL +04646147O'SULLIVAN DONEGAL +09542792O'SULLIVAN DONEGAL +06498308O'SULLIVAN DONEGAL +01154683POWER DONEGAL +08418566QUANE DONEGAL +09276763QUIN DONEGAL +04957459QUIN DONEGAL +09406086QUIN DONEGAL +06165875REIDY DONEGAL +03970808REIDY DONEGAL +08587443REIDY DONEGAL +01630487RELIHAN DONEGAL +09704955RELIHAN DONEGAL +01495389RELIHAN DONEGAL +06195893RELIHAN DONEGAL +09976130RICHARDSON DONEGAL +04696050RICHARDSON DONEGAL +06952718RUTLAND DONEGAL +00517532RUTLAND DONEGAL +05327160RYAN DONEGAL +04742498SAVAGE DONEGAL +08882076SAVAGE DONEGAL +00496505SCANNELL DONEGAL +01789769SCANNELL DONEGAL +00142543SHEAHAN DONEGAL +08947918SHEEHY DONEGAL +08684192SHEEHY DONEGAL +08058491SHINNERS DONEGAL +03565677SHINNERS-KENNEDY DONEGAL +03883407SLATER DONEGAL +08599728SLATER DONEGAL +01596205SLATER DONEGAL +07007436SLATTERY DONEGAL +08513147SOMERS DONEGAL +02556517SOMERS DONEGAL +06057420SPILLANE DONEGAL +06354238SUTCLIFFE DONEGAL +03548952SUTCLIFFE DONEGAL +00313639SUTCLIFFE DONEGAL +01945937THOMSON DONEGAL +05991348THOMSON DONEGAL +00534270TRIMBLE DONEGAL +07890308TRIMBLE DONEGAL +05757937TRIMBLE DONEGAL +07645725TRIMBLE DONEGAL +04714006WHEALAN DONEGAL +02008123WHEALAN DONEGAL +02732708WILLIAMS DONEGAL +08054185WOODS DONEGAL +04703976WOODS DONEGAL +00315427WOODS DONEGAL +00963273YOUNG DONEGAL +01497233AHERN DUBLIN +05783394AHERN DUBLIN +06739872ALLEN DUBLIN +00946015ALLEN DUBLIN +09947138ALLEN DUBLIN +02979407AMBROSE DUBLIN +04365218AMBROSE DUBLIN +07715429ANGLAND DUBLIN +08835409ANGLAND DUBLIN +05051509ANGLAND DUBLIN +02104792APPLEBY DUBLIN +01818688ASHTON DUBLIN +09548585ASHTON DUBLIN +09595360BAILEY DUBLIN +08740499BAKER DUBLIN +03909128BAKER DUBLIN +09139912BANNON DUBLIN +02832522BANNON DUBLIN +01332109BARKER DUBLIN +09646831BARLOW DUBLIN +06523946BARON DUBLIN +09406541BARRETT DUBLIN +09230398BARRETT DUBLIN +05115743BARRETT DUBLIN +04021151BARTON DUBLIN +03429562BARTON DUBLIN +06595148BEGLEY DUBLIN +03612556BERMINGHAM DUBLIN +03843876BIRD DUBLIN +03148522BLAKE DUBLIN +08786339BOLAND DUBLIN +01231099BOLAND DUBLIN +07125419BOLGER DUBLIN +09616506BOLGER DUBLIN +07024799BOLGER DUBLIN +05515778BOURKE DUBLIN +02011048BOURKE DUBLIN +05047774BREEN DUBLIN +02781834BREEN DUBLIN +08170134BREHONY DUBLIN +02924474BRENNAN DUBLIN +00134633BRENNAN DUBLIN +05165856BROWN DUBLIN +04768561BROWN DUBLIN +04615815BROWNE DUBLIN +01179343BUCKELY DUBLIN +03694012BURNS DUBLIN +06540924CAHILL DUBLIN +03954008CARRIGG DUBLIN +06053256CARRIGG DUBLIN +06358724CARRIGG DUBLIN +01568363CASEY DUBLIN +09684544CASSIDY DUBLIN +02193192CHAWKE DUBLIN +01900601CHAWKE DUBLIN +08638923CHAWKE DUBLIN +05865269CHAWKE DUBLIN +06120442CLIFFORD DUBLIN +01635701COAKLEY DUBLIN +03092104COAKLEY DUBLIN +04630209COFFEY DUBLIN +05805244COFFEY DUBLIN +04700793COHALAN DUBLIN +00108760COHALAN DUBLIN +03602214COLLINS DUBLIN +00294853COLLINS DUBLIN +00855198COLLINS DUBLIN +01650220CONROY DUBLIN +03239327CONROY DUBLIN +00390327CONROY DUBLIN +08095961COOKE DUBLIN +07359526COOKE DUBLIN +08648804COUGHLAN DUBLIN +08712775COUGHLAN DUBLIN +08550876COUGHLAN DUBLIN +01460962COUGHLAN DUBLIN +03113070DALY DUBLIN +06955533DE PAOR DUBLIN +03686012DE PAOR DUBLIN +03231208DEE DUBLIN +04145549DELANEY DUBLIN +04729001DELANEY DUBLIN +09909634DOHERTY DUBLIN +09311042DOOGAN DUBLIN +04211332DOWLING DUBLIN +07045492DOWLING DUBLIN +01231828DOWNES DUBLIN +02380988DOWNES DUBLIN +07193140DURKAN DUBLIN +09739755FENTON DUBLIN +08194732FINN DUBLIN +04716094FITZGERALD DUBLIN +02270933FITZGERALD DUBLIN +09035991FITZGERALD DUBLIN +01418839FITZHENRY DUBLIN +03992902FITZHENRY DUBLIN +06244466FITZMAURICE DUBLIN +07411109FITZMAURICE DUBLIN +02753999FLAHERTY DUBLIN +01345845FLAHERTY DUBLIN +01054638FLANAGAN DUBLIN +09883838FLANAGAN DUBLIN +06109218FLANNERY DUBLIN +01989485FLANNERY DUBLIN +09264257FLANNERY DUBLIN +00554347FLANNERY DUBLIN +01585156FLYNN DUBLIN +05024909FORDE DUBLIN +00074806GILL DUBLIN +02571494GILL DUBLIN +08559457GOGARTY DUBLIN +08467901GREEN DUBLIN +08337711GREEN DUBLIN +03401778GRIMES DUBLIN +05781962HALVEY DUBLIN +04304527HALVEY DUBLIN +04583525HANLY DUBLIN +03942727HANNON DUBLIN +07053182HEALY DUBLIN +01846990HEALY DUBLIN +04040258HEALY DUBLIN +02899162HEHIR DUBLIN +05128192HENCHY DUBLIN +03631510JOHNSON DUBLIN +05962966KEANE DUBLIN +08393759KEANE DUBLIN +03096392KEEHAN DUBLIN +07534377KEEHAN DUBLIN +00608059KELLY DUBLIN +08693972KENNEDY DUBLIN +06713574KENNEDY DUBLIN +09378271KENNEDY DUBLIN +01444847LEAHY DUBLIN +08155529LEAHY DUBLIN +09142096LEAMY DUBLIN +02011531LEDDIN DUBLIN +04595742LISTON DUBLIN +00585660LONG DUBLIN +04055158LONG DUBLIN +05473546LONG DUBLIN +09614676LONG DUBLIN +01846619LOVETT DUBLIN +01286602MACCURTIN DUBLIN +08105349MADDEN DUBLIN +04376465MADDEN DUBLIN +03466965MADDEN DUBLIN +09606909MADDEN DUBLIN +09195544MALONE DUBLIN +05517716MALONE DUBLIN +05311213MANGAN DUBLIN +05227423MANLEY DUBLIN +04293708MANLEY DUBLIN +00520918MCCORMACK DUBLIN +00360824MCCORMICK DUBLIN +07225940MCCORMICK DUBLIN +07941884MCDONAGH DUBLIN +08162705MCDONAGH DUBLIN +09495452MCELLIGOTT DUBLIN +06654062MCELLIGOTT DUBLIN +04566353MCGRATH DUBLIN +01898608MCNAMARA DUBLIN +02005186MCNULTY DUBLIN +05296449MITCHELL DUBLIN +06626788MOLONEY DUBLIN +07651342MOLONEY DUBLIN +07726546MOYNIHAN DUBLIN +07376843MURPHY DUBLIN +08345030MURRAY DUBLIN +03476517NOONE DUBLIN +00557042O'BRIEN DUBLIN +09673071O'BRIEN DUBLIN +05098429O'CONNOR DUBLIN +07607229O'CONNOR DUBLIN +08821342O'CONNOR DUBLIN +05940291O'CONNOR DUBLIN +03880499O'DWYER DUBLIN +08480462O'DWYER DUBLIN +01068624O'GORMAN DUBLIN +07540641O'GRADY DUBLIN +04024717O'HALLORAN DUBLIN +06936846O'HALLORAN DUBLIN +08950900O'HALLORAN DUBLIN +01209329O'HALLORAN DUBLIN +03070580O'HARA DUBLIN +04650677O'MAIDIN DUBLIN +00796736O'MAIDIN DUBLIN +09962301O'MAIDIN DUBLIN +05276429O'MAIDIN DUBLIN +01326674O'NEILL DUBLIN +00391071O'NEILL DUBLIN +06301496O'ROURKE DUBLIN +08482661O'SHEA DUBLIN +08153821O'SULLIVAN DUBLIN +07240588O'SULLIVAN DUBLIN +06939901POWER DUBLIN +07569195PURCELL DUBLIN +08069136PURCELL DUBLIN +04161182PURCELL DUBLIN +07040723PURCELL DUBLIN +02359285QUAID DUBLIN +04534892QUILLE DUBLIN +07508336REIDY DUBLIN +00052479RELIHAN DUBLIN +05770271RELIHAN DUBLIN +08962419RELIHAN DUBLIN +07859671RELIHAN DUBLIN +06270500REYNOLDS DUBLIN +08864400RUTLAND DUBLIN +06799989RUTLAND DUBLIN +06804050RUTLAND DUBLIN +02090774RYAN DUBLIN +04521749RYAN DUBLIN +01326554RYAN DUBLIN +02362096RYAN DUBLIN +01584899SAVAGE DUBLIN +08514435SAVAGE DUBLIN +04504377SAVAGE DUBLIN +00952799SAVAGE DUBLIN +07775932SAVAGE DUBLIN +08912260SCANLON DUBLIN +08733050SCANLON DUBLIN +02929102SHEAHAN DUBLIN +04502537SHEAHAN DUBLIN +06229555SHEEHY DUBLIN +06230699SHEEHY DUBLIN +09637250SHEEHY DUBLIN +04521710SHINNERS-KENNEDY DUBLIN +03667658SHINNERS-KENNEDY DUBLIN +09090640SLATER DUBLIN +08355584SLATTERY DUBLIN +05310069SLATTERY DUBLIN +07291264SOMERS DUBLIN +06296453SOMERS DUBLIN +06757713SOMERS DUBLIN +00634144SPILLANE DUBLIN +01774784STANLEY-SMITH DUBLIN +07078736SUTCLIFFE DUBLIN +02073211THOMSON DUBLIN +08406313TRIMBLE DUBLIN +07098943TRIMBLE DUBLIN +04893212VAUGHAN DUBLIN +04028087VAUGHAN DUBLIN +01857009VAUGHAN DUBLIN +09429106WHEALAN DUBLIN +06796160WHEALAN DUBLIN +08707632WHEALAN DUBLIN +02461378WHITE DUBLIN +02536863WILLIAMS DUBLIN +03300933YOUNG DUBLIN +05231677YOUNG DUBLIN +09125891AGNEW GALWAY +02695509AGNEW GALWAY +05162276AHERN GALWAY +03017081ALLEN GALWAY +03414192ALLEN GALWAY +04272968AMBROSE GALWAY +03125905AMBROSE GALWAY +05503941ANDREWS GALWAY +04316350ANDREWS GALWAY +01880760ANGLAND GALWAY +05988311APPLEBY GALWAY +03367537ASHE GALWAY +08647089ASHE GALWAY +05839658ASHE GALWAY +07971833ATKINS GALWAY +03197371BAILEY GALWAY +05331322BAKER GALWAY +09660069BAKER GALWAY +03446511BANNON GALWAY +06672927BARKER GALWAY +04369155BARLOW GALWAY +05760275BARON GALWAY +00290274BARR GALWAY +03460097BARR GALWAY +00583481BARRETT GALWAY +07727149BARRETT GALWAY +02683670BARRETT GALWAY +05988366BARRY GALWAY +08703976BARRY GALWAY +06342020BARTON GALWAY +07414746BARTON GALWAY +00100666BARTON GALWAY +08154150BERMINGHAM GALWAY +05125361BERRY GALWAY +05611122BIRD GALWAY +05855882BIRD GALWAY +07540408BOLGER GALWAY +01965225BOLGER GALWAY +06161339BOLGER GALWAY +03744626BOURKE GALWAY +04275368BOURKE GALWAY +06238713BOURKE GALWAY +00416491BOURKE GALWAY +05796803BOURKE GALWAY +06050737BOWLES GALWAY +00283010BOWLES GALWAY +02546795BOWLES GALWAY +02666390BRANNOCK GALWAY +03832828BRANNOCK GALWAY +00384084BRANNOCK GALWAY +08610164BREEN GALWAY +09594782BREEN GALWAY +00876554BRENNAN GALWAY +06646199BROUDER GALWAY +08820151BROWN GALWAY +04327736BROWN GALWAY +07801933BROWNE GALWAY +07029104BROWNE GALWAY +08681449BUCKELY GALWAY +07990935BURNS GALWAY +09126356CAHILL GALWAY +06818896CAHILL GALWAY +00760521CAREY GALWAY +09813564CARRIGG GALWAY +02674174CASEY GALWAY +09683116CASEY GALWAY +03096734CASSIDY GALWAY +09308932CASSIDY GALWAY +09467083CHAWKE GALWAY +00448314CHAWKE GALWAY +07743017CLINTON GALWAY +07809291CLUNE GALWAY +07751789COAKLEY GALWAY +04333137COHALAN GALWAY +08661388COHALAN GALWAY +08511055COLLINS GALWAY +00568726COLLINS GALWAY +03171236COLLINS GALWAY +03723839COLLINS GALWAY +04440384COLLINS GALWAY +02801913CONROY GALWAY +03286169CONROY GALWAY +05110407COOKE GALWAY +08076723COOKE GALWAY +02582143COUGHLAN GALWAY +03114092DALY GALWAY +07989219DE PAOR GALWAY +04442042DEE GALWAY +00824545DELANEY GALWAY +01715715DOHERTY GALWAY +06905875DOHERTY GALWAY +04022254DOHERTY GALWAY +00614044DOORLEY GALWAY +04858665DOWLING GALWAY +04228241DWAN GALWAY +08810712DWAN GALWAY +04460466EATON GALWAY +06565368EATON GALWAY +04895035FENTON GALWAY +00242942FINN GALWAY +09892313FITZGERALD GALWAY +01857657FITZHENRY GALWAY +06185222FITZMAURICE GALWAY +01581569FITZMAURICE GALWAY +00316756FITZMAURICE GALWAY +02096961FITZPATRICK GALWAY +09998410FLANAGAN GALWAY +00683149FLANAGAN GALWAY +02241396FORDE GALWAY +03698665GILL GALWAY +05698462GILL GALWAY +02353362GRIMES GALWAY +02138821HALVEY GALWAY +03027788HANLY GALWAY +08880949HANNON GALWAY +04847244HANNON GALWAY +03158459HAYES GALWAY +09892361HEALY GALWAY +02412118HEALY GALWAY +06001182HEHIR GALWAY +08287139HEHIR GALWAY +08403202HEHIR GALWAY +08214538HEHIR GALWAY +03255766HENCHY GALWAY +01362890HOGAN GALWAY +08212955JOHNSON GALWAY +00965034JOHNSON GALWAY +01562831JONES GALWAY +09673883KEANE GALWAY +05187667KEANE GALWAY +06738125KEANE GALWAY +05776923KEEHAN GALWAY +00615787KELLY GALWAY +06713993KELLY GALWAY +08953230KELLY GALWAY +09514839KELLY GALWAY +09740886KELLY GALWAY +02648263KENNEDY GALWAY +07683481KENNEDY GALWAY +06511077KEYES GALWAY +09915902LAWLOR GALWAY +00474027LEAHY GALWAY +09593071LEAMY GALWAY +07547188LEDDIN GALWAY +04573012LEDDIN GALWAY +02222964LISTON GALWAY +01322214LISTON GALWAY +05895302LITTLE GALWAY +04069393LOVETT GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +07576657LYONS GALWAY +07414946LYONS GALWAY +01446459LYONS GALWAY +06155759LYONS GALWAY +07555815LYONS GALWAY +00220510LYONS GALWAY +06322584MACDONAGH GALWAY +03407090MADDEN GALWAY +02297760MANGAN GALWAY +02414857MANLEY GALWAY +03817120MCBRIDE GALWAY +03202446MCBRIDE GALWAY +08047077MCCORMACK GALWAY +03391588MCCORMACK GALWAY +00179667MCCORMICK GALWAY +08832701MCCORMICK GALWAY +01353088MCDONNELL GALWAY +09654516MCDONNELL GALWAY +08908058MCDONNELL GALWAY +07721163MCELLIGOTT GALWAY +09223014MCGRATH GALWAY +00803718MCGRATH GALWAY +00921318MCGRATH GALWAY +06251861MCGUIRE GALWAY +03794532MCGUIRE GALWAY +06737588MCNAMARA GALWAY +02660035MCNAMARA GALWAY +09645523MCNAMARA GALWAY +00791794MCNULTY GALWAY +00018968MCNULTY GALWAY +00161701MITCHELL GALWAY +06855675MOLLOY GALWAY +02865507MOYNIHAN GALWAY +06685474MOYNIHAN GALWAY +06661414MOYNIHAN GALWAY +09091610MURPHY GALWAY +07910390MURPHY GALWAY +02304034MURPHY GALWAY +09873383MURRAY GALWAY +03289533MURRAY GALWAY +03019961O'CONNELL GALWAY +04101688O'CONNELL GALWAY +09473116O'DWYER GALWAY +00045485O'DWYER GALWAY +07795827O'GORMAN GALWAY +04308803O'HALLORAN GALWAY +01988200O'HARA GALWAY +03110666O'HARA GALWAY +01704485O'MAIDIN GALWAY +03617737O'MAIDIN GALWAY +06883049O'NEILL GALWAY +08312029O'ROURKE GALWAY +01390585O'ROURKE GALWAY +04028815O'ROURKE GALWAY +05356571O'ROURKE GALWAY +03344852O'SULLIVAN GALWAY +01470148POWER GALWAY +01121772PURCELL GALWAY +07884841QUAID GALWAY +05749625QUAID GALWAY +03135831QUAID GALWAY +05872830QUANE GALWAY +01919393QUILLE GALWAY +03952060REIDY GALWAY +01297950REIDY GALWAY +08574206REIDY GALWAY +00038091RELIHAN GALWAY +00397099RELIHAN GALWAY +04765505REYNOLDS GALWAY +02711536REYNOLDS GALWAY +05087950REYNOLDS GALWAY +08674143REYNOLDS GALWAY +05710248RUTLAND GALWAY +03298654SAVAGE GALWAY +09333812SAVAGE GALWAY +00639159SCANLON GALWAY +04278315SCANLON GALWAY +07143601SCANNELL GALWAY +06490922SCANNELL GALWAY +00625954SHEEHY GALWAY +08761078SHINNERS GALWAY +05885358SHINNERS-KENNEDY GALWAY +07555039SLATER GALWAY +07458806SLATER GALWAY +00494088SOMERS GALWAY +05485931SPILLANE GALWAY +05867337SUTCLIFFE GALWAY +01926916SUTCLIFFE GALWAY +00787985THOMSON GALWAY +02021955THORNTON GALWAY +07857512TRIMBLE GALWAY +05118392WHEALAN GALWAY +02558570WHEALAN GALWAY +00696239WHEALAN GALWAY +01468067WHITE GALWAY +03010081WILLIAMS GALWAY +06431934WILLIAMS GALWAY +06151909WILLIAMS GALWAY +09188259WILLIAMS GALWAY +05496770WOODS GALWAY +02910871WOODS GALWAY +05316828YOUNG GALWAY +08916099YOUNG GALWAY +09624307YOUNG GALWAY +08206209AGNEW KERRY +07821243AHERN KERRY +02965226AMBROSE KERRY +04223963ANDREWS KERRY +06605681ANDREWS KERRY +09814777ANDREWS KERRY +01354330ANDREWS KERRY +02282044ANGLAND KERRY +01832931ASHE KERRY +00574839ASHTON KERRY +02593844BAKER KERRY +05274566BAKER KERRY +04440636BAKER KERRY +00324964BAKER KERRY +04003488BANNON KERRY +08085556BANNON KERRY +07160306BARKER KERRY +04917180BARON KERRY +05115189BARR KERRY +07221206BARRETT KERRY +08005476BARTON KERRY +05825322BERMINGHAM KERRY +09621390BERMINGHAM KERRY +05214575BERMINGHAM KERRY +09321033BERMINGHAM KERRY +03711763BERRY KERRY +05007227BERRY KERRY +07428187BIRD KERRY +07293455BLAKE KERRY +02613644BOLAND KERRY +06474132BOLAND KERRY +05053822BOLGER KERRY +04031216BOLGER KERRY +03762173BRANNOCK KERRY +07573090BRANNOCK KERRY +03215607BREEN KERRY +02788960BREEN KERRY +05131051BRENNAN KERRY +09497227BRENNAN KERRY +00340312BRENNAN KERRY +00851460BRENNAN KERRY +04075616BRISLANE KERRY +09443259BRISLANE KERRY +00204886BRISLANE KERRY +03146591BROWN KERRY +07466413BROWNE KERRY +05648420BURNS KERRY +01604616BURNS KERRY +06582542CAREY KERRY +03879354CAREY KERRY +03721533CAREY KERRY +01588737CASSIDY KERRY +07424197CASSIDY KERRY +09747182CLUNE KERRY +06219035COFFEY KERRY +02329019COFFEY KERRY +07344756COHALAN KERRY +07573894COLEMAN KERRY +01479603COLLINS KERRY +06928629COLLINS KERRY +01460044COLLINS KERRY +06936065COLLINS KERRY +04843587COLLINS KERRY +07798930COLLINS KERRY +01627472CONROY KERRY +02337183CONROY KERRY +05812391COOKE KERRY +06326205COUGHLAN KERRY +02785311COUGHLAN KERRY +00179018COUGHLAN KERRY +04283480COUGHLAN KERRY +08441460DEE KERRY +02865652DELANEY KERRY +03883699DOHERTY KERRY +04655591DOHERTY KERRY +01849487DOOGAN KERRY +02021755DOORLEY KERRY +02246050DOORLEY KERRY +00923378DOWLING KERRY +03572324DOWLING KERRY +08538671DURKAN KERRY +02689538DURKAN KERRY +00455541DURKAN KERRY +00731527DWAN KERRY +07999110EATON KERRY +09100309FENTON KERRY +08865159FINE KERRY +07609607FINE KERRY +05403942FINN KERRY +09958714FINN KERRY +09081981FINN KERRY +05182001FITZGERALD KERRY +01974787FITZMAURICE KERRY +05810191FITZPATRICK KERRY +09786608FITZPATRICK KERRY +07127001FITZPATRICK KERRY +08618722FLAHERTY KERRY +09228641FLAHERTY KERRY +05228026FLAHERTY KERRY +02670719FLANAGAN KERRY +00310775FLANNERY KERRY +01464459FLANNERY KERRY +01837420FOLEY KERRY +04217251FORDE KERRY +09000901FORDE KERRY +05036653GALWAY KERRY +09909496GALWAY KERRY +07726616GILL KERRY +00208429GOGARTY KERRY +00181952GOGARTY KERRY +00119372GOGARTY KERRY +05930827GREEN KERRY +01023286GRIMES KERRY +08733111GRIMES KERRY +09744345GRIMES KERRY +03031040HALVEY KERRY +05619215HANNON KERRY +05990711HANNON KERRY +03337266HAYES KERRY +03249081HAYES KERRY +07973661HAYES KERRY +06744667HEALY KERRY +07752352HOGAN KERRY +00945427JOHNSON KERRY +00677998JONES KERRY +01583863KEANE KERRY +04770517KEEHAN KERRY +08281384KELLY KERRY +01425939KELLY KERRY +07331769KELLY KERRY +08372382KELLY KERRY +03427422KENNEDY KERRY +01316083KEYES KERRY +01569503LAWLOR KERRY +06475448LEDDIN KERRY +03325081LONG KERRY +04726421LOVETT KERRY +06824307LOVETT KERRY +02407837LOVETT KERRY +05205749LYONS KERRY +03070536MACCURTIN KERRY +09857024MACDONAGH KERRY +02155526MADDEN KERRY +00765321MANLEY KERRY +02649545MCBRIDE KERRY +02429467MCCORMACK KERRY +00617640MCCORMACK KERRY +02424817MCDONNELL KERRY +06911799MCELLIGOTT KERRY +03898748MCELLIGOTT KERRY +00482364MCGRATH KERRY +05276054MCGRATH KERRY +09700967MCGUIRE KERRY +08526221MCGUIRE KERRY +05370749MCGUIRE KERRY +08374528MCNAMARA KERRY +09489506MITCHELL KERRY +04339310MITCHELL KERRY +04568629MOLLOY KERRY +05198582MOLONEY KERRY +07917361MOLONEY KERRY +05827622MOYNIHAN KERRY +04648861MOYNIHAN KERRY +08178420MURPHY KERRY +05825064MURPHY KERRY +09764587MURPHY KERRY +03637780MURRAY KERRY +08856014MURRAY KERRY +03832894NOONE KERRY +08245744O'BRIEN KERRY +04087152O'BRIEN KERRY +03169667O'BRIEN KERRY +04896616O'CONNOR KERRY +08056170O'GORMAN KERRY +03332621O'GORMAN KERRY +06068294O'GRADY KERRY +05590971O'HALLORAN KERRY +05567010O'HALLORAN KERRY +09062272O'HALLORAN KERRY +07525383O'HARA KERRY +06314181O'NEILL KERRY +02755154O'NEILL KERRY +03461806O'NEILL KERRY +01952796O'NEILL KERRY +04868989O'NEILL KERRY +05128485O'REAGAN KERRY +04108226O'REAGAN KERRY +05762848O'REAGAN KERRY +04305306O'ROURKE KERRY +02662995O'ROURKE KERRY +00921640O'SHEA KERRY +05416788O'SULLIVAN KERRY +08798478O'SULLIVAN KERRY +09484757O'SULLIVAN KERRY +08269732QUAID KERRY +03626858QUANE KERRY +09585915QUANE KERRY +09260476QUANE KERRY +09368403QUANE KERRY +01547132QUILLE KERRY +05621595QUILLE KERRY +05821935QUILLE KERRY +02375917QUIN KERRY +02347936QUIN KERRY +08356082QUIN KERRY +03472942REIDY KERRY +09262527REIDY KERRY +02927558RICHARDSON KERRY +03083953RUTLAND KERRY +02141363RUTLAND KERRY +05653464RUTLAND KERRY +07756098RUTLAND KERRY +00288012SAVAGE KERRY +07173352SAVAGE KERRY +00081556SAVAGE KERRY +04799654SCANLON KERRY +04575339SCANNELL KERRY +08347395SCANNELL KERRY +09763498SCANNELL KERRY +09510842SHEAHAN KERRY +06869866SHEEHY KERRY +00318448SHEEHY KERRY +05742547SHEEHY KERRY +00360195SHEEHY KERRY +00307517SLATTERY KERRY +06558260SOMERS KERRY +01582956SPILLANE KERRY +09671928SPILLANE KERRY +08082591STANLEY-SMITH KERRY +04564009STANLEY-SMITH KERRY +08371721SUTCLIFFE KERRY +07260060THOMSON KERRY +07478977THOMSON KERRY +08113739THORNTON KERRY +06060244VAUGHAN KERRY +05263996VAUGHAN KERRY +09590434VAUGHAN KERRY +04943240VAUGHAN KERRY +06927780WHITE KERRY +04529109YOUNG KERRY +02616913AGNEW KILDARE +04955782AGNEW KILDARE +00560456AHERN KILDARE +02173839AHERN KILDARE +09477515AHERN KILDARE +08504735ALLEN KILDARE +02752835ALLEN KILDARE +00677208ALLEN KILDARE +01969332ALLEN KILDARE +06954574AMBROSE KILDARE +06474997ANDREWS KILDARE +04224716ANGLAND KILDARE +02580457APPLEBY KILDARE +06172750APPLEBY KILDARE +02337966APPLEBY KILDARE +07422166ASHE KILDARE +02200513ASHE KILDARE +04218356ASHTON KILDARE +06355352ASHTON KILDARE +04984891ASHTON KILDARE +00751109ASHTON KILDARE +01864208ATKINS KILDARE +05607148ATKINS KILDARE +02056882ATKINS KILDARE +08410249BAILEY KILDARE +02108892BAILEY KILDARE +01723318BAKER KILDARE +02749984BAKER KILDARE +00292054BANNON KILDARE +04406029BARLOW KILDARE +00114903BARON KILDARE +06584072BARON KILDARE +01500559BARRETT KILDARE +03175981BARRETT KILDARE +00786097BARRY KILDARE +02184121BARTON KILDARE +03950920BEGLEY KILDARE +08165344BERRY KILDARE +02102757BIRD KILDARE +01618291BLAKE KILDARE +03498680BLAKE KILDARE +04891616BOLAND KILDARE +07585458BOLGER KILDARE +04536417BOURKE KILDARE +01781778BOURKE KILDARE +00018374BOURKE KILDARE +06465784BOURKE KILDARE +07967643BOWLES KILDARE +05281749BOWLES KILDARE +05651877BRANNOCK KILDARE +04901959BRANNOCK KILDARE +03517164BRANNOCK KILDARE +07072647BREEN KILDARE +06073755BREEN KILDARE +05511708BREEN KILDARE +09784023BREHONY KILDARE +03622459BRENNAN KILDARE +02446707BRISLANE KILDARE +02398146BRISLANE KILDARE +01256722BROUDER KILDARE +06088201BROUDER KILDARE +07402616BROWN KILDARE +04537109BROWN KILDARE +08204126BROWN KILDARE +03975556BROWNE KILDARE +06972955BROWNE KILDARE +05330699BROWNE KILDARE +05847771BUCKELY KILDARE +01327067BUCKELY KILDARE +06926054BUCKELY KILDARE +01435930BUCKELY KILDARE +00642738BUCKELY KILDARE +04433165BURNS KILDARE +04856852CAREY KILDARE +06768447CASEY KILDARE +02801448CASEY KILDARE +07813168CLEARY KILDARE +02504855CLIFFORD KILDARE +00473854CLINTON KILDARE +09796140CLUNE KILDARE +05267598CLUNE KILDARE +03942707COAKLEY KILDARE +08712373COFFEY KILDARE +05675929COFFEY KILDARE +03344182COFFEY KILDARE +06317907COHALAN KILDARE +09455572COLEMAN KILDARE +06086261COLEMAN KILDARE +03377339COLLINS KILDARE +00913693COLLINS KILDARE +07371849COLLINS KILDARE +06612704CONROY KILDARE +03988746CONROY KILDARE +07070907CONROY KILDARE +00999488COUGHLAN KILDARE +00332002DE PAOR KILDARE +00408651DE PAOR KILDARE +07309427DEE KILDARE +08180809DEE KILDARE +05839896DELANEY KILDARE +05130084DOHERTY KILDARE +05872379DOHERTY KILDARE +01880354DOOGAN KILDARE +04388945DOORLEY KILDARE +00673499DOWNES KILDARE +08288733DOWNES KILDARE +02000170DOWNES KILDARE +05109856DURKAN KILDARE +09588638EATON KILDARE +09706597EATON KILDARE +03157241FENTON KILDARE +01431024FENTON KILDARE +02850000FITZGERALD KILDARE +07071319FITZMAURICE KILDARE +02590811FITZMAURICE KILDARE +08010822FITZPATRICK KILDARE +08846784FITZPATRICK KILDARE +09057552FITZPATRICK KILDARE +02026135FLANAGAN KILDARE +05693363FLANNERY KILDARE +01371985FLANNERY KILDARE +06406390FLYNN KILDARE +05733502FOLEY KILDARE +06983847FOLEY KILDARE +08902995FORDE KILDARE +01646849FORDE KILDARE +00824204FORDE KILDARE +02476791FORDE KILDARE +00507427GILL KILDARE +08900628GOGARTY KILDARE +07647122GOGARTY KILDARE +00556192GOGARTY KILDARE +06624822GOGARTY KILDARE +00485084GREEN KILDARE +05824268GRIMES KILDARE +03847797GRIMES KILDARE +08382395HALVEY KILDARE +02293215HALVEY KILDARE +00097594HANLY KILDARE +05470395HANLY KILDARE +05009544HANNON KILDARE +07835380HEALY KILDARE +08894715HEHIR KILDARE +03115409HENCHY KILDARE +01626653HOGAN KILDARE +02415157JOHNSON KILDARE +08633035JOHNSON KILDARE +00727524JOHNSON KILDARE +03215065KEEHAN KILDARE +05417933KENNEDY KILDARE +01181546KENNEDY KILDARE +01848633LISTON KILDARE +07631068LITTLE KILDARE +09963701LITTLE KILDARE +07934583LITTLE KILDARE +09918085LITTLE KILDARE +09141186LOVETT KILDARE +07476383LOVETT KILDARE +09366075MACCURTIN KILDARE +05248040MADDEN KILDARE +05984050MADDEN KILDARE +08408747MALONE KILDARE +06386460MALONE KILDARE +02523472MALONE KILDARE +01006652MANGAN KILDARE +03178520MANGAN KILDARE +00396738MANGAN KILDARE +09512315MANLEY KILDARE +06467249MANLEY KILDARE +04180466MANLEY KILDARE +06804421MANLEY KILDARE +01786609MANLEY KILDARE +07368714MCBRIDE KILDARE +03348048MCBRIDE KILDARE +07577750MCBRIDE KILDARE +03732936MCBRIDE KILDARE +08812758MCCORMACK KILDARE +01135915MCCORMACK KILDARE +04330108MCCORMICK KILDARE +05272977MCDONAGH KILDARE +04831084MCDONNELL KILDARE +07787003MCGRATH KILDARE +06437852MCGRATH KILDARE +02153147MCGUIRE KILDARE +00624799MCGUIRE KILDARE +02601418MCNULTY KILDARE +02412811MCNULTY KILDARE +00077348MOLLOY KILDARE +07342503MOLONEY KILDARE +00674322MOLONEY KILDARE +08600605MOYNIHAN KILDARE +05591639MURPHY KILDARE +04363377MURPHY KILDARE +08479760MURRAY KILDARE +06202760MURRAY KILDARE +08496375NOONE KILDARE +09013634NOONE KILDARE +06959691O'BRIEN KILDARE +06141861O'BRIEN KILDARE +07214400O'CONNELL KILDARE +04744184O'CONNELL KILDARE +05984382O'CONNELL KILDARE +09310004O'DWYER KILDARE +06891585O'DWYER KILDARE +05126423O'DWYER KILDARE +01442792O'GORMAN KILDARE +05271026O'GRADY KILDARE +07910278O'HALLORAN KILDARE +03199212O'MAIDIN KILDARE +07581687O'MAIDIN KILDARE +05951502O'NEILL KILDARE +08418582O'ROURKE KILDARE +02875285O'ROURKE KILDARE +05851430O'ROURKE KILDARE +04359869O'SHEA KILDARE +09634283O'SHEA KILDARE +02984247O'SHEA KILDARE +08388124O'SULLIVAN KILDARE +08235395O'SULLIVAN KILDARE +03193971POWER KILDARE +06733631PURCELL KILDARE +03730668PURCELL KILDARE +03106706QUILLE KILDARE +01770413QUILLE KILDARE +03925126RELIHAN KILDARE +01622724RUTLAND KILDARE +06432415SAVAGE KILDARE +07141350SAVAGE KILDARE +08414363SAVAGE KILDARE +02381378SAVAGE KILDARE +05007363SCANLON KILDARE +08445112SHEAHAN KILDARE +09838371SHEAHAN KILDARE +01889370SHEAHAN KILDARE +05054164SHEEHY KILDARE +06401723SHINNERS KILDARE +03016470SLATER KILDARE +05183635SOMERS KILDARE +03582935SOMERS KILDARE +08394567SPILLANE KILDARE +09481508SPILLANE KILDARE +01149369SPILLANE KILDARE +03947681STANLEY-SMITH KILDARE +06768063SUTCLIFFE KILDARE +02483164SUTCLIFFE KILDARE +04246663SUTCLIFFE KILDARE +01908172SUTCLIFFE KILDARE +06504157WHEALAN KILDARE +06613790WHEALAN KILDARE +02460624WHITE KILDARE +04054355WHITE KILDARE +03597121WILLIAMS KILDARE +09427533WILLIAMS KILDARE +07888987WOODS KILDARE +02636863YOUNG KILDARE +03548420AGNEW KILKENNY +08118694AHERN KILKENNY +08104400AMBROSE KILKENNY +08763952AMBROSE KILKENNY +01062099AMBROSE KILKENNY +02441983APPLEBY KILKENNY +00695578APPLEBY KILKENNY +09897832ASHTON KILKENNY +07349682BAILEY KILKENNY +01028881BAILEY KILKENNY +07244828BAILEY KILKENNY +03611466BANNON KILKENNY +04738967BARKER KILKENNY +08946264BARKER KILKENNY +04125987BARKER KILKENNY +07427071BARKER KILKENNY +04660555BARKER KILKENNY +00344292BARON KILKENNY +03751314BARON KILKENNY +04852014BARON KILKENNY +07321006BARRETT KILKENNY +08896423BARRY KILKENNY +03387820BARTON KILKENNY +09637698BERRY KILKENNY +02546715BIRD KILKENNY +09033015BIRD KILKENNY +09792348BLAKE KILKENNY +03417907BOLGER KILKENNY +01156574BOURKE KILKENNY +08364712BOWLES KILKENNY +01080283BOWLES KILKENNY +03705534BOWLES KILKENNY +00890134BOWLES KILKENNY +04888053BRANNOCK KILKENNY +08382246BRANNOCK KILKENNY +05679221BRANNOCK KILKENNY +07864983BRANNOCK KILKENNY +07239816BRENNAN KILKENNY +09345500BRENNAN KILKENNY +02815444BRISLANE KILKENNY +04908079BRISLANE KILKENNY +06132222BROUDER KILKENNY +06955731BROUDER KILKENNY +09116371BROWNE KILKENNY +04977601BROWNE KILKENNY +05206253BROWNE KILKENNY +00750378BUCKELY KILKENNY +09098094BUCKELY KILKENNY +03985600BURNS KILKENNY +08111929CAREY KILKENNY +00965197CAREY KILKENNY +02995525CARRIGG KILKENNY +04632172CASSIDY KILKENNY +06300064CASSIDY KILKENNY +05474285CASSIDY KILKENNY +03876418CHAWKE KILKENNY +08066674CHAWKE KILKENNY +07099716CLEARY KILKENNY +08222811CLEARY KILKENNY +08622653CLEARY KILKENNY +02874011CLINTON KILKENNY +00725859CLINTON KILKENNY +06931643COAKLEY KILKENNY +05823570COAKLEY KILKENNY +04601705COAKLEY KILKENNY +00472249COHALAN KILKENNY +04944669COHALAN KILKENNY +08158865COHALAN KILKENNY +02158450COHALAN KILKENNY +04383169COLEMAN KILKENNY +01898185COLEMAN KILKENNY +01158341COLEMAN KILKENNY +09440303COLEMAN KILKENNY +03789539COLLINS KILKENNY +01974547COLLINS KILKENNY +03256639COLLINS KILKENNY +09017044COLLINS KILKENNY +03938840COLLINS KILKENNY +03109563COLLINS KILKENNY +08690927COOKE KILKENNY +09852169COUGHLAN KILKENNY +07882628DALY KILKENNY +06266521DALY KILKENNY +08148406DE PAOR KILKENNY +03831629DE PAOR KILKENNY +00554975DE PAOR KILKENNY +05448151DEE KILKENNY +04107892DEE KILKENNY +08739084DELANEY KILKENNY +03405317DELANEY KILKENNY +05327678DOHERTY KILKENNY +06240074DOOGAN KILKENNY +02805932DOORLEY KILKENNY +06394672DOORLEY KILKENNY +02438556DOORLEY KILKENNY +05521594DOORLEY KILKENNY +00998242DOWLING KILKENNY +09499973DURKAN KILKENNY +04703585DURKAN KILKENNY +06212593DURKAN KILKENNY +08214420DWAN KILKENNY +05808319EATON KILKENNY +08398174EATON KILKENNY +03618727FENTON KILKENNY +01226353FENTON KILKENNY +06660633FENTON KILKENNY +08630912FINN KILKENNY +08078108FITZGERALD KILKENNY +00197364FITZGERALD KILKENNY +01872955FITZHENRY KILKENNY +05686226FITZMAURICE KILKENNY +04671280FLAHERTY KILKENNY +06747182FLANAGAN KILKENNY +03521718FLANAGAN KILKENNY +00744757FLANNERY KILKENNY +00766145FLANNERY KILKENNY +08470061FLYNN KILKENNY +03280748FOLEY KILKENNY +00717957FOLEY KILKENNY +06991307FORDE KILKENNY +07515585GALWAY KILKENNY +00813017GILL KILKENNY +08889688GOGARTY KILKENNY +07032116GOGARTY KILKENNY +04830243GRIMES KILKENNY +08835638HANLY KILKENNY +00992246HANNON KILKENNY +05061979HAYES KILKENNY +03385140HEALY KILKENNY +05072732HEALY KILKENNY +01182096HEALY KILKENNY +09126389HENCHY KILKENNY +00235984HENCHY KILKENNY +09950972JONES KILKENNY +01335475KEEHAN KILKENNY +00638038KEEHAN KILKENNY +08973146KELLY KILKENNY +06713517KENNEDY KILKENNY +07408000KENNEDY KILKENNY +01833006KEYES KILKENNY +06455251KEYES KILKENNY +04681325KEYES KILKENNY +02674046LAWLOR KILKENNY +06670369LAWLOR KILKENNY +03498027LAWLOR KILKENNY +01885288LEAHY KILKENNY +07002892LEAHY KILKENNY +05761664LEDDIN KILKENNY +02630627LEDDIN KILKENNY +03837990LISTON KILKENNY +09071495LISTON KILKENNY +08603821LONG KILKENNY +08876445LOVETT KILKENNY +04300069LYONS KILKENNY +05822796LYONS KILKENNY +09395976MACCURTIN KILKENNY +07882082MACCURTIN KILKENNY +05938671MACDONAGH KILKENNY +01954630MACDONAGH KILKENNY +02163308MACDONAGH KILKENNY +08660971MADDEN KILKENNY +07221699MALONE KILKENNY +04816843MANGAN KILKENNY +05078534MANGAN KILKENNY +08952896MANGAN KILKENNY +07691806MANLEY KILKENNY +05460401MANLEY KILKENNY +01705452MCBRIDE KILKENNY +03154585MCBRIDE KILKENNY +00976941MCCORMICK KILKENNY +03586794MCDONAGH KILKENNY +09784730MCDONAGH KILKENNY +04368790MCDONAGH KILKENNY +09070606MCELLIGOTT KILKENNY +02718611MCELLIGOTT KILKENNY +02618358MCGUIRE KILKENNY +01030041MCGUIRE KILKENNY +01576838MCGUIRE KILKENNY +04552093MCGUIRE KILKENNY +04255016MCNAMARA KILKENNY +09290966MCNAMARA KILKENNY +02242559MITCHELL KILKENNY +03120491MITCHELL KILKENNY +09428151MOLLOY KILKENNY +02260410MOLLOY KILKENNY +08823580MOLONEY KILKENNY +05197836MURPHY KILKENNY +08678367MURRAY KILKENNY +04149567NOONE KILKENNY +00192372O'BRIEN KILKENNY +01181408O'CONNELL KILKENNY +00613237O'CONNELL KILKENNY +09224020O'CONNOR KILKENNY +07777442O'GORMAN KILKENNY +02513962O'GORMAN KILKENNY +05117579O'GORMAN KILKENNY +05061636O'GRADY KILKENNY +05122363O'GRADY KILKENNY +09584220O'GRADY KILKENNY +07942853O'HALLORAN KILKENNY +06938143O'HARA KILKENNY +01227875O'MAIDIN KILKENNY +04112181O'MAIDIN KILKENNY +01228745O'REAGAN KILKENNY +09122873O'REAGAN KILKENNY +05831192O'REAGAN KILKENNY +01322367O'ROURKE KILKENNY +07964394O'SHEA KILKENNY +03938881O'SULLIVAN KILKENNY +09321959O'SULLIVAN KILKENNY +06906226O'SULLIVAN KILKENNY +05112498O'SULLIVAN KILKENNY +00736150O'SULLIVAN KILKENNY +07736579POWER KILKENNY +09785118POWER KILKENNY +01281742POWER KILKENNY +05481820PURCELL KILKENNY +06379432QUAID KILKENNY +07744333QUAID KILKENNY +03291957QUILLE KILKENNY +07029545QUILLE KILKENNY +09311391QUILLE KILKENNY +08430622QUILLE KILKENNY +06591704QUIN KILKENNY +03656808REIDY KILKENNY +07786416RELIHAN KILKENNY +08746272REYNOLDS KILKENNY +03000689RYAN KILKENNY +08903171RYAN KILKENNY +06182443SAVAGE KILKENNY +02672723SCANLON KILKENNY +04864514SCANNELL KILKENNY +01043401SCANNELL KILKENNY +03862883SCANNELL KILKENNY +04815456SHEAHAN KILKENNY +02310349SHEAHAN KILKENNY +04482385SHEEHY KILKENNY +03485136SHEEHY KILKENNY +04708468SHINNERS-KENNEDY KILKENNY +01312723SLATER KILKENNY +03120756SLATER KILKENNY +04621011SLATTERY KILKENNY +08978249SOMERS KILKENNY +03337017SPILLANE KILKENNY +03112061SPILLANE KILKENNY +08817861STANLEY-SMITH KILKENNY +02427370SUTCLIFFE KILKENNY +09319685SUTCLIFFE KILKENNY +03288978THOMSON KILKENNY +09636603THOMSON KILKENNY +06868584THORNTON KILKENNY +00305882TRIMBLE KILKENNY +04891823TRIMBLE KILKENNY +00598480WHEALAN KILKENNY +03942333WHEALAN KILKENNY +06673234WHITE KILKENNY +02464109WILLIAMS KILKENNY +00790949WILLIAMS KILKENNY +09665805WILLIAMS KILKENNY +02383435WOODS KILKENNY +05998148WOODS KILKENNY +04206126YOUNG KILKENNY +04788226YOUNG KILKENNY +02174958YOUNG KILKENNY +08543769AHERN LAOIS +09939002ANDREWS LAOIS +01389734ANGLAND LAOIS +05466942ANGLAND LAOIS +02729517ASHTON LAOIS +03057381ASHTON LAOIS +08523220ASHTON LAOIS +00815745BAILEY LAOIS +07380242BAILEY LAOIS +07398571BAILEY LAOIS +08534924BAKER LAOIS +03984476BAKER LAOIS +09031803BARKER LAOIS +05116729BARKER LAOIS +05746153BARLOW LAOIS +09347749BARON LAOIS +00502151BARON LAOIS +00877874BARR LAOIS +03178852BARRETT LAOIS +00395248BARRY LAOIS +00326017BARTON LAOIS +04467145BARTON LAOIS +02261047BEGLEY LAOIS +07265617BEGLEY LAOIS +08456443BERRY LAOIS +03951665BERRY LAOIS +00916594BERRY LAOIS +05171038BIRD LAOIS +03152607BIRD LAOIS +09758640BOLGER LAOIS +09486998BOLGER LAOIS +03433506BOLGER LAOIS +02838867BOLGER LAOIS +00719999BOURKE LAOIS +08815021BOURKE LAOIS +01138589BOWLES LAOIS +03376943BRANNOCK LAOIS +01274980BREHONY LAOIS +05355847BRENNAN LAOIS +03775808BRISLANE LAOIS +04337779BROUDER LAOIS +04561930BROWNE LAOIS +01480367BUCKELY LAOIS +01299830BUCKELY LAOIS +06242986BUCKELY LAOIS +05688068BURNS LAOIS +08822812BURNS LAOIS +08211883BURNS LAOIS +09688263CAHILL LAOIS +04016093CAREY LAOIS +00905098CARRIGG LAOIS +05753275CASEY LAOIS +09031974CASSIDY LAOIS +05397125CHAWKE LAOIS +09762029CHAWKE LAOIS +05206478CHAWKE LAOIS +02034701CHAWKE LAOIS +01198495CLEARY LAOIS +07508716CLEARY LAOIS +09934120CLEARY LAOIS +06958840CLIFFORD LAOIS +06677501CLUNE LAOIS +09655656COAKLEY LAOIS +02303314COAKLEY LAOIS +05622230COAKLEY LAOIS +00351544COAKLEY LAOIS +03177203COAKLEY LAOIS +05197369COAKLEY LAOIS +02573395COAKLEY LAOIS +07896675COFFEY LAOIS +05581270COHALAN LAOIS +08008023COHALAN LAOIS +07289029COLEMAN LAOIS +08824275COLEMAN LAOIS +06432310COLLINS LAOIS +07980149COLLINS LAOIS +06220224COLLINS LAOIS +06045084COLLINS LAOIS +09214593COOKE LAOIS +00882132COOKE LAOIS +05878031COUGHLAN LAOIS +02044404COUGHLAN LAOIS +00394414DALY LAOIS +05625045DALY LAOIS +03654770DALY LAOIS +02786235DEE LAOIS +04335737DELANEY LAOIS +01476797DELANEY LAOIS +07131008DELANEY LAOIS +09327212DOHERTY LAOIS +08622286DOWLING LAOIS +09508026DOWLING LAOIS +01496352DOWNES LAOIS +07825893DOWNES LAOIS +00210131DURKAN LAOIS +07254245DURKAN LAOIS +07327462DWAN LAOIS +08995400DWAN LAOIS +07002755FENTON LAOIS +03754604FINE LAOIS +07777616FINE LAOIS +03014873FINN LAOIS +04680195FINN LAOIS +05787737FITZGERALD LAOIS +00062360FITZGERALD LAOIS +04908203FITZHENRY LAOIS +04038728FITZHENRY LAOIS +00160695FITZMAURICE LAOIS +07806178FITZMAURICE LAOIS +07391919FITZPATRICK LAOIS +04889406FLANAGAN LAOIS +06354573FLANNERY LAOIS +02887106FLANNERY LAOIS +04768613FOLEY LAOIS +01538642FOLEY LAOIS +07177574FOLEY LAOIS +04152421FOLEY LAOIS +04942936FORDE LAOIS +00258624GILL LAOIS +01678341GILL LAOIS +02343067GILL LAOIS +07329118GRIMES LAOIS +02469250HALVEY LAOIS +09882442HANLY LAOIS +08597372HANLY LAOIS +07705298HANNON LAOIS +07983642HANNON LAOIS +05467516HAYES LAOIS +06306824HAYES LAOIS +03876951HEALY LAOIS +02671768HEALY LAOIS +04787191HOGAN LAOIS +02750739HOGAN LAOIS +02857701JOHNSON LAOIS +02922163JONES LAOIS +02272659KEANE LAOIS +09548338KEANE LAOIS +02508641KEANE LAOIS +03299575KEANE LAOIS +03836171KEANE LAOIS +03888103KEANE LAOIS +08202483KEEHAN LAOIS +09683853KEEHAN LAOIS +03847386KEEHAN LAOIS +06613230KENNEDY LAOIS +08056731KEYES LAOIS +02903497KEYES LAOIS +02619215LAWLOR LAOIS +09638060LEAHY LAOIS +09291029LEDDIN LAOIS +05774922LITTLE LAOIS +06285055LITTLE LAOIS +06675054LONG LAOIS +09720561LONG LAOIS +09959845LOVETT LAOIS +05306655LYONS LAOIS +09059807MACCURTIN LAOIS +05266857MACCURTIN LAOIS +08875442MACCURTIN LAOIS +08010238MACDONAGH LAOIS +06434761MACDONAGH LAOIS +08929786MADDEN LAOIS +01572081MALONE LAOIS +00810564MANGAN LAOIS +02916840MANGAN LAOIS +00955741MANGAN LAOIS +04069486MANGAN LAOIS +04311939MCBRIDE LAOIS +02879652MCBRIDE LAOIS +01455276MCCORMACK LAOIS +09696275MCCORMICK LAOIS +00673645MCDONAGH LAOIS +07932580MCDONAGH LAOIS +03709061MCDONNELL LAOIS +04648120MCELLIGOTT LAOIS +03758872MCELLIGOTT LAOIS +07108184MCELLIGOTT LAOIS +08888903MCGUIRE LAOIS +08376627MCGUIRE LAOIS +08216686MCGUIRE LAOIS +06395062MCNAMARA LAOIS +01372866MCNULTY LAOIS +09479301MCNULTY LAOIS +06555683MITCHELL LAOIS +07582367MITCHELL LAOIS +00605473MITCHELL LAOIS +01313463MOLLOY LAOIS +06078449MOLONEY LAOIS +09998758MURPHY LAOIS +02401785MURPHY LAOIS +04086195MURRAY LAOIS +03903403MURRAY LAOIS +00526158NOONE LAOIS +05006377NOONE LAOIS +02943986NOONE LAOIS +06643204NOONE LAOIS +05393838NOONE LAOIS +09441294NOONE LAOIS +08763922O'BRIEN LAOIS +04621745O'CONNELL LAOIS +03386391O'CONNELL LAOIS +07125817O'CONNELL LAOIS +07354912O'CONNELL LAOIS +03463041O'DWYER LAOIS +06209824O'DWYER LAOIS +01810075O'HALLORAN LAOIS +07812852O'MAIDIN LAOIS +09695520O'MAIDIN LAOIS +08158471O'NEILL LAOIS +02556597O'NEILL LAOIS +01631193O'REAGAN LAOIS +02594129O'REAGAN LAOIS +02198035O'REAGAN LAOIS +03834030O'ROURKE LAOIS +00898571O'ROURKE LAOIS +06935192O'SHEA LAOIS +05169698O'SHEA LAOIS +02483282O'SHEA LAOIS +05608820O'SULLIVAN LAOIS +01408180O'SULLIVAN LAOIS +04826180POWER LAOIS +07296558PURCELL LAOIS +07656047PURCELL LAOIS +01449645PURCELL LAOIS +08392591QUILLE LAOIS +01820196QUIN LAOIS +06288271QUIN LAOIS +02381980REIDY LAOIS +01679792REIDY LAOIS +04867109RELIHAN LAOIS +03184998RELIHAN LAOIS +06971518REYNOLDS LAOIS +04344468REYNOLDS LAOIS +06451358REYNOLDS LAOIS +07569151RICHARDSON LAOIS +08232918RICHARDSON LAOIS +01256807RYAN LAOIS +02738767SAVAGE LAOIS +08071212SCANLON LAOIS +02174922SHEAHAN LAOIS +02453926SHEAHAN LAOIS +08630234SHEEHY LAOIS +07146946SHINNERS LAOIS +00686548SHINNERS LAOIS +02972454SHINNERS LAOIS +02724775SHINNERS-KENNEDY LAOIS +08915593SHINNERS-KENNEDY LAOIS +09682165SLATTERY LAOIS +00124557SLATTERY LAOIS +03698993SLATTERY LAOIS +07275896SOMERS LAOIS +01310247SPILLANE LAOIS +04211404STANLEY-SMITH LAOIS +02524208STANLEY-SMITH LAOIS +03986376STANLEY-SMITH LAOIS +01874757SUTCLIFFE LAOIS +03371376SUTCLIFFE LAOIS +04340723SUTCLIFFE LAOIS +09223192THOMSON LAOIS +08379910THORNTON LAOIS +04350627THORNTON LAOIS +01873282THORNTON LAOIS +09587379THORNTON LAOIS +08313346VAUGHAN LAOIS +01734816VAUGHAN LAOIS +05289594WHEALAN LAOIS +01790823WHEALAN LAOIS +05397385WHEALAN LAOIS +09038670WHITE LAOIS +07984733WHITE LAOIS +00927386WILLIAMS LAOIS +06912350WOODS LAOIS +03756659AGNEW LIMERICK +01308502AGNEW LIMERICK +03220724AGNEW LIMERICK +00238505AHERN LIMERICK +08393323ALLEN LIMERICK +05691935ANDREWS LIMERICK +01410124ANDREWS LIMERICK +03901381ANGLAND LIMERICK +07213596APPLEBY LIMERICK +05904824APPLEBY LIMERICK +07963672ASHE LIMERICK +08024629ATKINS LIMERICK +06598244ATKINS LIMERICK +06902381BAILEY LIMERICK +07356765BAKER LIMERICK +04066268BAKER LIMERICK +00196129BARKER LIMERICK +02260944BARKER LIMERICK +08511261BARLOW LIMERICK +01341159BARLOW LIMERICK +00490943BARR LIMERICK +03661524BARRETT LIMERICK +03062993BARRETT LIMERICK +02698475BARRETT LIMERICK +02935728BARTON LIMERICK +09034196BERMINGHAM LIMERICK +01443028BERMINGHAM LIMERICK +00114107BLAKE LIMERICK +05081004BOLAND LIMERICK +08565880BOLGER LIMERICK +07324305BOWLES LIMERICK +09955401BOWLES LIMERICK +03903918BREEN LIMERICK +09284415BRENNAN LIMERICK +06296447BRISLANE LIMERICK +01925695BRISLANE LIMERICK +09391323BRISLANE LIMERICK +06982588BROUDER LIMERICK +09125412BROUDER LIMERICK +01179389BROWNE LIMERICK +03206633BUCKELY LIMERICK +09002432CAHILL LIMERICK +06044487CHAWKE LIMERICK +04333855CHAWKE LIMERICK +04033848CLEARY LIMERICK +02333075CLEARY LIMERICK +00488058CLIFFORD LIMERICK +08848776CLUNE LIMERICK +03533866CLUNE LIMERICK +06502415COAKLEY LIMERICK +09665333COAKLEY LIMERICK +06162949COFFEY LIMERICK +09309874COFFEY LIMERICK +06262636COFFEY LIMERICK +07362100COLEMAN LIMERICK +00404402COLLINS LIMERICK +02173235COLLINS LIMERICK +01077040DELANEY LIMERICK +00698832DOHERTY LIMERICK +01828053DOHERTY LIMERICK +07826474DOOGAN LIMERICK +06184071DOOGAN LIMERICK +03383411DOORLEY LIMERICK +03426174DOORLEY LIMERICK +05809369DOWLING LIMERICK +06867989DOWLING LIMERICK +05723824DOWNES LIMERICK +05695310DOWNES LIMERICK +06726791DURKAN LIMERICK +09057984EATON LIMERICK +06521460FINE LIMERICK +09468351FINE LIMERICK +04571141FINE LIMERICK +05668908FITZHENRY LIMERICK +01628570FITZPATRICK LIMERICK +00294700FITZPATRICK LIMERICK +00160942FLANAGAN LIMERICK +07394810FLYNN LIMERICK +08175441FOLEY LIMERICK +07746116FORDE LIMERICK +01565480GILL LIMERICK +04613828GOGARTY LIMERICK +01310386GRIMES LIMERICK +06285735HALVEY LIMERICK +07478547HALVEY LIMERICK +02333158HALVEY LIMERICK +08226461HANLY LIMERICK +07467388HAYES LIMERICK +04001789HEALY LIMERICK +06712659HEHIR LIMERICK +00151196HENCHY LIMERICK +08793900HENCHY LIMERICK +01150088HOGAN LIMERICK +01748827KEEHAN LIMERICK +06940765KEYES LIMERICK +00667479KEYES LIMERICK +06519936LAWLOR LIMERICK +08966929LAWLOR LIMERICK +01774308LEAHY LIMERICK +01879198LITTLE LIMERICK +00245961LOVETT LIMERICK +04309702LOVETT LIMERICK +07634212LOVETT LIMERICK +02784529LYONS LIMERICK +09643177LYONS LIMERICK +09400851MACCURTIN LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +02134546MACDONAGH LIMERICK +02158238MACDONAGH LIMERICK +02013626MACDONAGH LIMERICK +02210146MACDONAGH LIMERICK +03777192MACDONAGH LIMERICK +04869531MADDEN LIMERICK +00186275MADDEN LIMERICK +05496333MALONE LIMERICK +02103671MANGAN LIMERICK +09905844MANLEY LIMERICK +06720932MANLEY LIMERICK +01935333MCBRIDE LIMERICK +06991266MCBRIDE LIMERICK +08092986MCBRIDE LIMERICK +04238452MCCORMACK LIMERICK +08794500MCCORMICK LIMERICK +07424490MCCORMICK LIMERICK +05677783MCDONAGH LIMERICK +08083296MCDONNELL LIMERICK +06351641MCELLIGOTT LIMERICK +00691320MCELLIGOTT LIMERICK +01475169MCGRATH LIMERICK +05268920MCGRATH LIMERICK +01178718MCGRATH LIMERICK +04431452MCNAMARA LIMERICK +05525087MCNULTY LIMERICK +08545755MCNULTY LIMERICK +01828163MITCHELL LIMERICK +00746352MITCHELL LIMERICK +09273645MITCHELL LIMERICK +05067687MOLLOY LIMERICK +02306248MOLLOY LIMERICK +03960635MOLONEY LIMERICK +01988745MOYNIHAN LIMERICK +01424972MOYNIHAN LIMERICK +05525311MURPHY LIMERICK +05417773MURPHY LIMERICK +00880553MURPHY LIMERICK +00774517MURRAY LIMERICK +01938649NOONE LIMERICK +08125747NOONE LIMERICK +01404811O'BRIEN LIMERICK +09381185O'CONNELL LIMERICK +00477200O'DWYER LIMERICK +06423339O'GORMAN LIMERICK +08889670O'HALLORAN LIMERICK +09835917O'HALLORAN LIMERICK +06918398O'HARA LIMERICK +08098089O'MAIDIN LIMERICK +04541264O'MAIDIN LIMERICK +04419536O'REAGAN LIMERICK +05247622O'REAGAN LIMERICK +04590867O'REAGAN LIMERICK +04101937O'ROURKE LIMERICK +06707981O'ROURKE LIMERICK +05687490O'ROURKE LIMERICK +05395263O'ROURKE LIMERICK +08800225O'ROURKE LIMERICK +06134471O'SULLIVAN LIMERICK +05701881O'SULLIVAN LIMERICK +06211164O'SULLIVAN LIMERICK +06694354POWER LIMERICK +05887740PURCELL LIMERICK +08876386PURCELL LIMERICK +01977513QUANE LIMERICK +08481650QUANE LIMERICK +01676724QUANE LIMERICK +04406055QUILLE LIMERICK +00292958QUIN LIMERICK +02880270REIDY LIMERICK +02544500RELIHAN LIMERICK +06752537RELIHAN LIMERICK +03779641RELIHAN LIMERICK +05722628REYNOLDS LIMERICK +09836744RICHARDSON LIMERICK +01659166RICHARDSON LIMERICK +00293202RUTLAND LIMERICK +07056580RUTLAND LIMERICK +05912648RYAN LIMERICK +01873269SCANLON LIMERICK +07269864SCANNELL LIMERICK +08771740SCANNELL LIMERICK +03375140SCANNELL LIMERICK +04833513SHEAHAN LIMERICK +09724812SHEEHY LIMERICK +02029065SHEEHY LIMERICK +08301631SHINNERS LIMERICK +07805970SHINNERS LIMERICK +07339620SHINNERS LIMERICK +01837136SHINNERS LIMERICK +07928659SLATER LIMERICK +08988924SLATTERY LIMERICK +03183991SLATTERY LIMERICK +06867946SLATTERY LIMERICK +04805102SOMERS LIMERICK +09587414SPILLANE LIMERICK +02315462STANLEY-SMITH LIMERICK +01957305SUTCLIFFE LIMERICK +07210089SUTCLIFFE LIMERICK +08509646VAUGHAN LIMERICK +07857545VAUGHAN LIMERICK +06807610VAUGHAN LIMERICK +03870051WILLIAMS LIMERICK +01646169WOODS LIMERICK +01043437WOODS LIMERICK +03178222YOUNG LIMERICK +05130878YOUNG LIMERICK +06366201AGNEW LONGFORD +08895428AGNEW LONGFORD +03656529AGNEW LONGFORD +01145377AHERN LONGFORD +02011086ALLEN LONGFORD +00767820ALLEN LONGFORD +08832620APPLEBY LONGFORD +02343069APPLEBY LONGFORD +05395708ASHE LONGFORD +07828256ASHE LONGFORD +03739053ASHE LONGFORD +07500022ATKINS LONGFORD +09792421ATKINS LONGFORD +07414860ATKINS LONGFORD +00391447BAILEY LONGFORD +02114639BAILEY LONGFORD +01095825BAKER LONGFORD +05950337BANNON LONGFORD +08498950BANNON LONGFORD +01879812BARON LONGFORD +09457454BARON LONGFORD +00779832BARR LONGFORD +01378365BARRETT LONGFORD +00730319BARRY LONGFORD +08286467BARTON LONGFORD +02766195BARTON LONGFORD +01711919BARTON LONGFORD +02685263BEGLEY LONGFORD +06575900BEGLEY LONGFORD +02328576BERMINGHAM LONGFORD +03036536BERRY LONGFORD +03270597BOLAND LONGFORD +09776049BOLGER LONGFORD +00963799BOURKE LONGFORD +09831975BOWLES LONGFORD +09215286BOWLES LONGFORD +04907039BOWLES LONGFORD +08658182BOWLES LONGFORD +05152344BRANNOCK LONGFORD +03112380BRANNOCK LONGFORD +09616349BRANNOCK LONGFORD +05428383BRANNOCK LONGFORD +04399795BREEN LONGFORD +06517554BREHONY LONGFORD +08651758BREHONY LONGFORD +03117012BRENNAN LONGFORD +09035630BRISLANE LONGFORD +00725784BROWNE LONGFORD +04170023BUCKELY LONGFORD +01817903BUCKELY LONGFORD +02738246BUCKELY LONGFORD +06115352BURNS LONGFORD +06226342BURNS LONGFORD +00528292CAHILL LONGFORD +05675061CAREY LONGFORD +02630664CAREY LONGFORD +08964818CAREY LONGFORD +01911510CASEY LONGFORD +09944424CLEARY LONGFORD +00397273CLEARY LONGFORD +09003470CLEARY LONGFORD +07889730CLIFFORD LONGFORD +09588463CLIFFORD LONGFORD +01943011CLIFFORD LONGFORD +08214909CLINTON LONGFORD +08148156CLUNE LONGFORD +00851542CLUNE LONGFORD +02937923COAKLEY LONGFORD +06458188COHALAN LONGFORD +09877628COHALAN LONGFORD +08337052COHALAN LONGFORD +00309351COHALAN LONGFORD +07958037COLEMAN LONGFORD +02094805COLLINS LONGFORD +09164952COLLINS LONGFORD +02997568COLLINS LONGFORD +09569199COLLINS LONGFORD +00884177CONROY LONGFORD +03214885COOKE LONGFORD +00626016COUGHLAN LONGFORD +01004792COUGHLAN LONGFORD +04055455DALY LONGFORD +08403785DALY LONGFORD +06597459DEE LONGFORD +07543388DEE LONGFORD +04547382DELANEY LONGFORD +09580525DOHERTY LONGFORD +05514467DOHERTY LONGFORD +06164629DOHERTY LONGFORD +00756164DOOGAN LONGFORD +01584737DOOGAN LONGFORD +03629334DOWNES LONGFORD +00059438DOWNES LONGFORD +01486776DWAN LONGFORD +04835743DWAN LONGFORD +07863137DWAN LONGFORD +05264364FINE LONGFORD +02624066FINE LONGFORD +03492159FINE LONGFORD +01951325FINE LONGFORD +04759591FINE LONGFORD +00967587FINN LONGFORD +06823119FINN LONGFORD +07712343FITZHENRY LONGFORD +03834563FITZHENRY LONGFORD +04481703FITZHENRY LONGFORD +01377085FITZHENRY LONGFORD +07529204FITZHENRY LONGFORD +05628583FITZPATRICK LONGFORD +00877889FITZPATRICK LONGFORD +09528999FITZPATRICK LONGFORD +04787137FLAHERTY LONGFORD +07178954FLAHERTY LONGFORD +04807658FLANNERY LONGFORD +00338752FLANNERY LONGFORD +06803909FLYNN LONGFORD +05414087FLYNN LONGFORD +09666478FLYNN LONGFORD +03910443FLYNN LONGFORD +08261321FLYNN LONGFORD +09440434FORDE LONGFORD +09377297GALWAY LONGFORD +08836354GALWAY LONGFORD +00927059GILL LONGFORD +01658143GILL LONGFORD +05609885GILL LONGFORD +04772901GREEN LONGFORD +02346614GRIMES LONGFORD +06983635GRIMES LONGFORD +01341541HALVEY LONGFORD +00236711HALVEY LONGFORD +08139161HALVEY LONGFORD +09955687HALVEY LONGFORD +01209009HANLY LONGFORD +08173845HANNON LONGFORD +06998761HANNON LONGFORD +09676880HEALY LONGFORD +06069589HEALY LONGFORD +03364016JOHNSON LONGFORD +07091420JOHNSON LONGFORD +07716639JOHNSON LONGFORD +04201646JONES LONGFORD +08104079JONES LONGFORD +03145142KEANE LONGFORD +05727022KEANE LONGFORD +03746829KENNEDY LONGFORD +09350788KENNEDY LONGFORD +09573789LAWLOR LONGFORD +03041864LAWLOR LONGFORD +03793915LEAMY LONGFORD +01623592LEAMY LONGFORD +07582648LISTON LONGFORD +07825621LISTON LONGFORD +05543772LISTON LONGFORD +06631257LITTLE LONGFORD +00007587LONG LONGFORD +02926961LONG LONGFORD +01927208LOVETT LONGFORD +09862082LOVETT LONGFORD +06065127LOVETT LONGFORD +00574433MACCURTIN LONGFORD +06397087MACCURTIN LONGFORD +01330396MACDONAGH LONGFORD +07531753MADDEN LONGFORD +04985287MALONE LONGFORD +06353359MANGAN LONGFORD +08229943MANGAN LONGFORD +09192074MCBRIDE LONGFORD +04044987MCCORMACK LONGFORD +04709891MCCORMACK LONGFORD +00494430MCCORMACK LONGFORD +03319002MCDONAGH LONGFORD +09581102MCDONNELL LONGFORD +04944111MCGRATH LONGFORD +04560246MCGRATH LONGFORD +04977633MCGUIRE LONGFORD +07677155MCNAMARA LONGFORD +05604659MCNAMARA LONGFORD +05126378MCNAMARA LONGFORD +02533997MITCHELL LONGFORD +04089840MITCHELL LONGFORD +04402440MITCHELL LONGFORD +06402563MOLLOY LONGFORD +06268153MOLLOY LONGFORD +05353904MOLONEY LONGFORD +01179576MOYNIHAN LONGFORD +01214919MOYNIHAN LONGFORD +00662934MOYNIHAN LONGFORD +02831433MURPHY LONGFORD +03044939MURPHY LONGFORD +06814600MURRAY LONGFORD +01563648MURRAY LONGFORD +05425730NOONE LONGFORD +04653584NOONE LONGFORD +00122118O'BRIEN LONGFORD +03567783O'BRIEN LONGFORD +06055659O'CONNELL LONGFORD +02090682O'CONNELL LONGFORD +02981642O'CONNOR LONGFORD +03400875O'CONNOR LONGFORD +02062583O'DWYER LONGFORD +07562029O'DWYER LONGFORD +02606313O'DWYER LONGFORD +04083322O'GORMAN LONGFORD +09850768O'GRADY LONGFORD +00674817O'NEILL LONGFORD +05185516O'ROURKE LONGFORD +04890229O'ROURKE LONGFORD +06231353O'SHEA LONGFORD +06666154O'SHEA LONGFORD +02868712PURCELL LONGFORD +09298140QUAID LONGFORD +09529283QUANE LONGFORD +01746986QUANE LONGFORD +07712492QUIN LONGFORD +01437217QUIN LONGFORD +04789977REIDY LONGFORD +06348515REIDY LONGFORD +02051445REIDY LONGFORD +05707149RELIHAN LONGFORD +08074518RELIHAN LONGFORD +05660056RICHARDSON LONGFORD +01938780RICHARDSON LONGFORD +08981053RICHARDSON LONGFORD +00074456RYAN LONGFORD +05157663SCANNELL LONGFORD +01283330SHEAHAN LONGFORD +09754218SHEEHY LONGFORD +07474542SHEEHY LONGFORD +06355004SHINNERS LONGFORD +09977855SHINNERS LONGFORD +00689597SHINNERS LONGFORD +07579505SHINNERS-KENNEDY LONGFORD +03387892SLATER LONGFORD +02802136SLATER LONGFORD +00294472SLATER LONGFORD +03085236SLATER LONGFORD +02631085SLATTERY LONGFORD +07721974SOMERS LONGFORD +09743422SUTCLIFFE LONGFORD +01837921SUTCLIFFE LONGFORD +03358214THOMSON LONGFORD +01049006THORNTON LONGFORD +09744189WHEALAN LONGFORD +03491656WHITE LONGFORD +08910806WILLIAMS LONGFORD +01081216WOODS LONGFORD +06700726WOODS LONGFORD +08514183WOODS LONGFORD +05765341YOUNG LONGFORD +07671349YOUNG LONGFORD +00933960AGNEW LOUTH +09709876AGNEW LOUTH +07974992AHERN LOUTH +00175006AHERN LOUTH +02213700ALLEN LOUTH +03970783ANDREWS LOUTH +04741147ANGLAND LOUTH +00737281ANGLAND LOUTH +05458866ASHE LOUTH +06100108ATKINS LOUTH +03390384ATKINS LOUTH +01378818ATKINS LOUTH +04493038BAKER LOUTH +02266508BAKER LOUTH +00952188BAKER LOUTH +05451167BANNON LOUTH +03566667BANNON LOUTH +03651037BARKER LOUTH +02490892BARON LOUTH +09635123BARON LOUTH +07212269BARON LOUTH +01519356BARR LOUTH +02459786BARRY LOUTH +00614008BARRY LOUTH +02042747BARRY LOUTH +01695568BARTON LOUTH +07985117BARTON LOUTH +05821879BERMINGHAM LOUTH +08029717BIRD LOUTH +04355028BIRD LOUTH +00556007BOLAND LOUTH +06958119BOLGER LOUTH +08928485BOLGER LOUTH +03512119BRANNOCK LOUTH +09260831BRANNOCK LOUTH +03901037BRANNOCK LOUTH +02669824BREEN LOUTH +03632919BREHONY LOUTH +01649418BREHONY LOUTH +05026195BRENNAN LOUTH +04368414BRENNAN LOUTH +07204174BRENNAN LOUTH +04038511BRENNAN LOUTH +00925279BRISLANE LOUTH +04636351BRISLANE LOUTH +05760341BROUDER LOUTH +01001348BROWN LOUTH +09865033BROWN LOUTH +02398201BROWNE LOUTH +05927376BROWNE LOUTH +08701024BROWNE LOUTH +09954460BROWNE LOUTH +00124640BURNS LOUTH +07611184CAREY LOUTH +06869872CARRIGG LOUTH +02697174CARRIGG LOUTH +06227452CASEY LOUTH +04066090CLEARY LOUTH +00964570CLEARY LOUTH +06938299CLIFFORD LOUTH +06624904CLIFFORD LOUTH +07292177CLINTON LOUTH +07574660CLUNE LOUTH +05410580COAKLEY LOUTH +04887210COAKLEY LOUTH +05448035COFFEY LOUTH +00736858COLEMAN LOUTH +08831409COLEMAN LOUTH +01358501COLLINS LOUTH +00447729COLLINS LOUTH +07465100COLLINS LOUTH +09791601COLLINS LOUTH +08920008COLLINS LOUTH +08336357CONROY LOUTH +09245849CONROY LOUTH +03904244COOKE LOUTH +01654163COOKE LOUTH +08314667COOKE LOUTH +00902504COOKE LOUTH +03041790COOKE LOUTH +02345856DALY LOUTH +00994559DE PAOR LOUTH +06351735DE PAOR LOUTH +01003324DEE LOUTH +04414206DOHERTY LOUTH +06934474DOOGAN LOUTH +04417624DOOGAN LOUTH +06625970DOOGAN LOUTH +02419878DOORLEY LOUTH +00520164DOORLEY LOUTH +03752294DOWLING LOUTH +05778820DOWLING LOUTH +09100269DOWNES LOUTH +01101060DURKAN LOUTH +00708054DWAN LOUTH +08994856EATON LOUTH +05037992FENTON LOUTH +03343168FENTON LOUTH +00433942FENTON LOUTH +01976765FINE LOUTH +06487874FITZGERALD LOUTH +09286679FLAHERTY LOUTH +07545987FLANAGAN LOUTH +09487739FLANAGAN LOUTH +07662019FLANNERY LOUTH +01603992FLYNN LOUTH +04870388FOLEY LOUTH +09873850GALWAY LOUTH +03884089GOGARTY LOUTH +01771723GREEN LOUTH +08982706GRIMES LOUTH +03529654HALVEY LOUTH +07608667HALVEY LOUTH +03484377HANLY LOUTH +00022897HANNON LOUTH +07550647HANNON LOUTH +08186016HANNON LOUTH +00253864HEHIR LOUTH +02575590HEHIR LOUTH +01800573HENCHY LOUTH +09091685JOHNSON LOUTH +06642195KEANE LOUTH +09111605KEANE LOUTH +08178916KEANE LOUTH +03535629KEEHAN LOUTH +08596052KELLY LOUTH +03262981KELLY LOUTH +09209694KELLY LOUTH +09698019KENNEDY LOUTH +04677120KENNEDY LOUTH +05063653KEYES LOUTH +03027974KEYES LOUTH +00503621LAWLOR LOUTH +01737325LAWLOR LOUTH +01995120LAWLOR LOUTH +00542244LEAHY LOUTH +06436770LEAMY LOUTH +03556203LISTON LOUTH +02504378LISTON LOUTH +02944263LONG LOUTH +04556122LONG LOUTH +08521773LOVETT LOUTH +09800999LOVETT LOUTH +00121746LYONS LOUTH +00954245MACDONAGH LOUTH +05775116MACDONAGH LOUTH +05413851MALONE LOUTH +09904232MALONE LOUTH +03844103MANLEY LOUTH +00644719MCCORMICK LOUTH +04238036MCDONAGH LOUTH +00411665MCDONNELL LOUTH +01905196MCDONNELL LOUTH +04979747MCDONNELL LOUTH +07951471MCELLIGOTT LOUTH +04385563MCELLIGOTT LOUTH +09712469MCNAMARA LOUTH +02761046MCNULTY LOUTH +06121201MITCHELL LOUTH +06593995MOLLOY LOUTH +07873900MOLLOY LOUTH +07284025MOLONEY LOUTH +04817212MURPHY LOUTH +06699726MURPHY LOUTH +05383017MURRAY LOUTH +04288418MURRAY LOUTH +03136439NOONE LOUTH +07756006O'CONNELL LOUTH +02350021O'CONNOR LOUTH +08950885O'DWYER LOUTH +03728443O'GRADY LOUTH +01085985O'GRADY LOUTH +08129182O'GRADY LOUTH +00152406O'HALLORAN LOUTH +03381207O'HALLORAN LOUTH +08797158O'HARA LOUTH +06378340O'MAIDIN LOUTH +08843889O'REAGAN LOUTH +05636589O'REAGAN LOUTH +03244919O'SHEA LOUTH +08246196O'SULLIVAN LOUTH +03681220O'SULLIVAN LOUTH +08362487POWER LOUTH +00664699POWER LOUTH +08734149POWER LOUTH +03032165PURCELL LOUTH +00141402QUAID LOUTH +09528221QUAID LOUTH +08725598QUANE LOUTH +07066199QUANE LOUTH +08630804QUILLE LOUTH +02057558QUILLE LOUTH +01546249QUIN LOUTH +08667878QUIN LOUTH +06113233REIDY LOUTH +01129986REIDY LOUTH +01740850REYNOLDS LOUTH +02013922REYNOLDS LOUTH +01240034RUTLAND LOUTH +03983705RUTLAND LOUTH +01247060SAVAGE LOUTH +03188650SCANLON LOUTH +05350504SCANLON LOUTH +09551719SCANLON LOUTH +02759123SCANLON LOUTH +01994970SCANNELL LOUTH +09539687SCANNELL LOUTH +01446746SCANNELL LOUTH +06250098SHEAHAN LOUTH +05955818SHEAHAN LOUTH +06544576SHEAHAN LOUTH +08110637SHEEHY LOUTH +03230575SHEEHY LOUTH +09540019SHINNERS LOUTH +02243401SHINNERS LOUTH +00573405SHINNERS-KENNEDY LOUTH +05654214SHINNERS-KENNEDY LOUTH +03051033SOMERS LOUTH +04364366SOMERS LOUTH +00844123SPILLANE LOUTH +08701271SPILLANE LOUTH +05722752SPILLANE LOUTH +08529468SPILLANE LOUTH +08206927STANLEY-SMITH LOUTH +02707512SUTCLIFFE LOUTH +03802073SUTCLIFFE LOUTH +02158678THOMSON LOUTH +01735933TRIMBLE LOUTH +01180902VAUGHAN LOUTH +07460306VAUGHAN LOUTH +09747213WHEALAN LOUTH +05965549WHEALAN LOUTH +04699869WHITE LOUTH +02252099WHITE LOUTH +07205761WHITE LOUTH +03454872WILLIAMS LOUTH +08279672WILLIAMS LOUTH +01488478WOODS LOUTH +09313481WOODS LOUTH +05995391AGNEW MAYO +09099035AHERN MAYO +01280800AHERN MAYO +06760612ALLEN MAYO +07703746ALLEN MAYO +08208008ALLEN MAYO +01968315AMBROSE MAYO +04289216ANDREWS MAYO +00873746ANDREWS MAYO +03060467ANDREWS MAYO +02452479ANGLAND MAYO +06630772ANGLAND MAYO +07963630ANGLAND MAYO +07016173APPLEBY MAYO +08506382APPLEBY MAYO +07049395ASHE MAYO +00071409ASHE MAYO +01018356ASHE MAYO +08018857ASHTON MAYO +04652924ATKINS MAYO +08789242BAILEY MAYO +05405254BAILEY MAYO +07911764BAKER MAYO +04865232BAKER MAYO +03434621BAKER MAYO +01310276BANNON MAYO +01772863BARKER MAYO +06575868BARLOW MAYO +03284961BARON MAYO +05137125BARRY MAYO +09856473BARTON MAYO +01659890BARTON MAYO +08773223BARTON MAYO +04475305BEGLEY MAYO +04622949BERMINGHAM MAYO +05303941BERRY MAYO +03060670BERRY MAYO +03703252BERRY MAYO +06166569BERRY MAYO +05712264BIRD MAYO +08103546BLAKE MAYO +08992019BLAKE MAYO +08203902BOLAND MAYO +06940831BOURKE MAYO +07406265BOWLES MAYO +07941350BOWLES MAYO +07173041BRANNOCK MAYO +05383029BRANNOCK MAYO +08725398BRANNOCK MAYO +07942379BRANNOCK MAYO +04199203BREEN MAYO +09267781BREHONY MAYO +09279670BRENNAN MAYO +05741998BRISLANE MAYO +07531318BROUDER MAYO +07551861BROWN MAYO +09428336BROWNE MAYO +02390021BROWNE MAYO +07884017BURNS MAYO +00219443CAREY MAYO +07035628CAREY MAYO +04471961CAREY MAYO +02139598CARRIGG MAYO +03755510CASEY MAYO +09372050CASEY MAYO +08643341CHAWKE MAYO +02948783CHAWKE MAYO +08037173CLEARY MAYO +06852110CLINTON MAYO +03311583CLUNE MAYO +01537839CLUNE MAYO +06205381CLUNE MAYO +09700986COAKLEY MAYO +07953708COAKLEY MAYO +02579775COHALAN MAYO +06121910COLLINS MAYO +05513022CONROY MAYO +01426889COOKE MAYO +02694570COOKE MAYO +07000665DALY MAYO +07777640DE PAOR MAYO +05243107DOHERTY MAYO +09161241DOHERTY MAYO +02196572DOHERTY MAYO +02265347DOOGAN MAYO +07538971DOORLEY MAYO +05008503DOORLEY MAYO +07222322DOWNES MAYO +01504109DURKAN MAYO +06804189DWAN MAYO +09392809EATON MAYO +02841144EATON MAYO +06178361FENTON MAYO +02319922FINE MAYO +07318941FITZGERALD MAYO +03305798FITZGERALD MAYO +00755960FITZHENRY MAYO +08121814FITZHENRY MAYO +07102220FITZMAURICE MAYO +06935582FITZMAURICE MAYO +01982928FITZPATRICK MAYO +05671682FLAHERTY MAYO +07320481FLYNN MAYO +02871861FORDE MAYO +08475650GALWAY MAYO +01584471GALWAY MAYO +00959637GILL MAYO +07676875GILL MAYO +03725146GREEN MAYO +09168026GRIMES MAYO +02866055HALVEY MAYO +01774145HALVEY MAYO +06406876HALVEY MAYO +06137343HANNON MAYO +09198651HENCHY MAYO +01869211HENCHY MAYO +05935846HOGAN MAYO +00026881JONES MAYO +03163485JONES MAYO +09496232KEANE MAYO +05009174KEANE MAYO +03186557KEANE MAYO +05126275KEANE MAYO +08385841KEEHAN MAYO +08230716KELLY MAYO +08562720KELLY MAYO +07360352KENNEDY MAYO +05794440KEYES MAYO +09518912KEYES MAYO +08931287LAWLOR MAYO +01148970LAWLOR MAYO +05818682LEDDIN MAYO +05130363LEDDIN MAYO +08615641LISTON MAYO +09495052LISTON MAYO +03221214LISTON MAYO +02118853LITTLE MAYO +06356816LITTLE MAYO +09143212LITTLE MAYO +01343518LONG MAYO +00948223LONG MAYO +08255333LYONS MAYO +05659875LYONS MAYO +07156029MACCURTIN MAYO +01979030MACDONAGH MAYO +04354017MALONE MAYO +01410194MALONE MAYO +00239765MANGAN MAYO +01338596MANGAN MAYO +02441328MANLEY MAYO +06865001MCBRIDE MAYO +00831639MCCORMACK MAYO +00827401MCCORMICK MAYO +04334188MCDONNELL MAYO +05604935MCDONNELL MAYO +00404848MCELLIGOTT MAYO +08731730MCELLIGOTT MAYO +05084622MCGRATH MAYO +06483443MCNAMARA MAYO +04169280MCNULTY MAYO +09213543MCNULTY MAYO +05176363MOLLOY MAYO +05265377MOLLOY MAYO +01508934MOLLOY MAYO +04204337MOLLOY MAYO +09661634MURPHY MAYO +08260420MURPHY MAYO +09539559MURPHY MAYO +05744582MURRAY MAYO +02744652MURRAY MAYO +02715683MURRAY MAYO +01422279NOONE MAYO +09193724NOONE MAYO +00307498NOONE MAYO +09777306NOONE MAYO +05566571O'BRIEN MAYO +08038671O'CONNELL MAYO +07654274O'CONNELL MAYO +00719131O'CONNELL MAYO +09780302O'CONNOR MAYO +07464583O'CONNOR MAYO +08282936O'DWYER MAYO +04151276O'GORMAN MAYO +06245772O'GORMAN MAYO +01768324O'GRADY MAYO +03232537O'GRADY MAYO +00514759O'HALLORAN MAYO +07983374O'HALLORAN MAYO +00010526O'HARA MAYO +06366260O'MAIDIN MAYO +09907315O'MAIDIN MAYO +00746333O'MAIDIN MAYO +09185920O'NEILL MAYO +00619787O'REAGAN MAYO +06320833O'REAGAN MAYO +09030345QUAID MAYO +08652668QUANE MAYO +01334128QUILLE MAYO +07605875REIDY MAYO +09923924RELIHAN MAYO +00431710RELIHAN MAYO +04696951REYNOLDS MAYO +09201288RICHARDSON MAYO +04644128RICHARDSON MAYO +02324645RUTLAND MAYO +09695224RYAN MAYO +02615730SCANLON MAYO +03071680SHEEHY MAYO +04523486SHEEHY MAYO +05940303SHINNERS MAYO +06740912SHINNERS MAYO +03707618SHINNERS MAYO +08863207SHINNERS-KENNEDY MAYO +01498003SHINNERS-KENNEDY MAYO +05157243SHINNERS-KENNEDY MAYO +04182008SLATER MAYO +00739056SOMERS MAYO +04957683SPILLANE MAYO +02434471STANLEY-SMITH MAYO +08942944STANLEY-SMITH MAYO +02063622SUTCLIFFE MAYO +02554759SUTCLIFFE MAYO +09576441SUTCLIFFE MAYO +07911374THORNTON MAYO +05895281THORNTON MAYO +08719224TRIMBLE MAYO +06266271VAUGHAN MAYO +03137675VAUGHAN MAYO +04212034WHEALAN MAYO +03666548WHEALAN MAYO +02172084WHEALAN MAYO +01101331WHITE MAYO +09613863WHITE MAYO +03188867WILLIAMS MAYO +04656788WOODS MAYO +01144790YOUNG MAYO +09698632YOUNG MAYO +09540812YOUNG MAYO +07855451AGNEW MEATH +03008297AHERN MEATH +07220108AHERN MEATH +01404811AMBROSE MEATH +05436113ANGLAND MEATH +07181203APPLEBY MEATH +03935742APPLEBY MEATH +07399012ASHTON MEATH +04340406ASHTON MEATH +09199320ASHTON MEATH +06285654BAILEY MEATH +00492978BAKER MEATH +01726025BARKER MEATH +07452551BARLOW MEATH +02354293BARLOW MEATH +01711790BARLOW MEATH +04846918BARLOW MEATH +08121990BARR MEATH +07624642BARR MEATH +09016931BARRETT MEATH +04384229BEGLEY MEATH +01337266BEGLEY MEATH +06679759BERMINGHAM MEATH +09573763BERRY MEATH +04203286BERRY MEATH +00150880BERRY MEATH +05219619BERRY MEATH +04307280BERRY MEATH +05315218BIRD MEATH +06283546BIRD MEATH +02176622BLAKE MEATH +02046176BOLAND MEATH +07002007BOLAND MEATH +01208237BOLAND MEATH +01951995BOLAND MEATH +07375070BOLAND MEATH +00568613BOURKE MEATH +08318880BOURKE MEATH +01618979BOURKE MEATH +08632730BRANNOCK MEATH +03096387BREEN MEATH +08725152BREHONY MEATH +05270789BREHONY MEATH +03359795BREHONY MEATH +07067843BRENNAN MEATH +05434524BRENNAN MEATH +09732434BRENNAN MEATH +08102792BROUDER MEATH +06735796BROUDER MEATH +03977468BROWN MEATH +09103715BURNS MEATH +01960898BURNS MEATH +09031504CAHILL MEATH +01741771CAREY MEATH +08798428CAREY MEATH +03820267CAREY MEATH +06147952CARRIGG MEATH +05985432CASSIDY MEATH +08915433CHAWKE MEATH +01963891CHAWKE MEATH +08682724CLEARY MEATH +05621012CLIFFORD MEATH +00529416CLUNE MEATH +05150629CLUNE MEATH +03324605COAKLEY MEATH +00912083COHALAN MEATH +08033617COHALAN MEATH +04563500COHALAN MEATH +09541103COLEMAN MEATH +03749961COLLINS MEATH +06702984COLLINS MEATH +06044542CONROY MEATH +05735007COOKE MEATH +05930503COOKE MEATH +08007230COUGHLAN MEATH +07440064DALY MEATH +07153058DE PAOR MEATH +07504361DE PAOR MEATH +05635913DE PAOR MEATH +06148967DEE MEATH +07445280DELANEY MEATH +04580472DELANEY MEATH +01853941DOHERTY MEATH +04783881DOHERTY MEATH +08071957DURKAN MEATH +06199745DWAN MEATH +05675988DWAN MEATH +09006607DWAN MEATH +06059174EATON MEATH +09946849EATON MEATH +01300637EATON MEATH +02039354EATON MEATH +05573652FENTON MEATH +03951134FENTON MEATH +08601310FITZGERALD MEATH +03609670FITZHENRY MEATH +07986518FITZHENRY MEATH +05280973FITZMAURICE MEATH +02142791FITZMAURICE MEATH +00059161FITZPATRICK MEATH +08863078FITZPATRICK MEATH +02293490FLAHERTY MEATH +04459269FLAHERTY MEATH +02955343FLAHERTY MEATH +04596603FLANNERY MEATH +05942790FLANNERY MEATH +01773287FLYNN MEATH +07576900FLYNN MEATH +00168753FORDE MEATH +01457719GILL MEATH +05103421GOGARTY MEATH +03762023GOGARTY MEATH +04365759GREEN MEATH +00326055GRIMES MEATH +09847746HALVEY MEATH +00700006HALVEY MEATH +05238578HANLY MEATH +08649855HANNON MEATH +06807799HAYES MEATH +02440071HEHIR MEATH +02029861HEHIR MEATH +05118042HENCHY MEATH +01554320JOHNSON MEATH +02730919JONES MEATH +01483960KEANE MEATH +09534857KEANE MEATH +02100103KEANE MEATH +03787803KEEHAN MEATH +00217998KEEHAN MEATH +06269520KELLY MEATH +01020792KELLY MEATH +04662988KELLY MEATH +09581060KENNEDY MEATH +05979557KEYES MEATH +03540909KEYES MEATH +05536647LEAMY MEATH +03631716LEDDIN MEATH +02555507LISTON MEATH +04367754LONG MEATH +06832866LOVETT MEATH +06722918MACCURTIN MEATH +00219375MACDONAGH MEATH +09272321MADDEN MEATH +06790498MALONE MEATH +06801372MANGAN MEATH +06305509MANGAN MEATH +05387754MANLEY MEATH +04040935MANLEY MEATH +08355189MANLEY MEATH +01891884MCCORMACK MEATH +05079511MCCORMACK MEATH +03607628MCCORMICK MEATH +08661815MCCORMICK MEATH +09270751MCDONAGH MEATH +07103754MCDONNELL MEATH +02588943MCDONNELL MEATH +05709874MCELLIGOTT MEATH +02962166MCELLIGOTT MEATH +00701503MCELLIGOTT MEATH +01613848MCELLIGOTT MEATH +05839134MCGRATH MEATH +02310975MCGRATH MEATH +00854835MCGUIRE MEATH +04992112MCGUIRE MEATH +09376612MCGUIRE MEATH +07219860MOLLOY MEATH +03474654MOLONEY MEATH +02531965MOLONEY MEATH +03757096MURRAY MEATH +00427218MURRAY MEATH +03354335NOONE MEATH +02180962O'BRIEN MEATH +01382671O'BRIEN MEATH +05699566O'CONNELL MEATH +03784440O'CONNELL MEATH +01390142O'CONNELL MEATH +00281294O'CONNELL MEATH +05997612O'CONNELL MEATH +07263683O'DWYER MEATH +00193085O'GORMAN MEATH +08074505O'GORMAN MEATH +00603479O'GRADY MEATH +05514114O'GRADY MEATH +08859998O'GRADY MEATH +08537807O'MAIDIN MEATH +04963828O'MAIDIN MEATH +02341894O'MAIDIN MEATH +07288299O'NEILL MEATH +03988064O'REAGAN MEATH +04691958O'ROURKE MEATH +05165422O'ROURKE MEATH +03958555O'ROURKE MEATH +06334477O'SHEA MEATH +03540933O'SHEA MEATH +01201335O'SHEA MEATH +06317912O'SHEA MEATH +07648734O'SHEA MEATH +00683210O'SULLIVAN MEATH +09066088POWER MEATH +00909225PURCELL MEATH +06885959PURCELL MEATH +01600053QUAID MEATH +07646219QUAID MEATH +03929908QUIN MEATH +01587042REIDY MEATH +01042386REIDY MEATH +09944735REIDY MEATH +02830094RELIHAN MEATH +02567524RELIHAN MEATH +09438942RELIHAN MEATH +02345878REYNOLDS MEATH +00909159REYNOLDS MEATH +01143343REYNOLDS MEATH +05240408RICHARDSON MEATH +09184380RICHARDSON MEATH +03417448RUTLAND MEATH +06993413SAVAGE MEATH +04155859SAVAGE MEATH +09090783SCANLON MEATH +00339826SCANLON MEATH +06483046SHEAHAN MEATH +06863990SHEEHY MEATH +05922384SHINNERS-KENNEDY MEATH +03611423SHINNERS-KENNEDY MEATH +00778945SHINNERS-KENNEDY MEATH +01600663SLATER MEATH +08152942SLATER MEATH +06489215SPILLANE MEATH +07223915SPILLANE MEATH +08730057SPILLANE MEATH +02088400STANLEY-SMITH MEATH +07130651STANLEY-SMITH MEATH +09968631THOMSON MEATH +00701000VAUGHAN MEATH +05727283VAUGHAN MEATH +05108205VAUGHAN MEATH +04912702WHEALAN MEATH +01850778WILLIAMS MEATH +01234604WILLIAMS MEATH +00939552WOODS MEATH +07368110WOODS MEATH +03263447YOUNG MEATH +03734927AGNEW MONAGHAN +06387248AHERN MONAGHAN +01207483AHERN MONAGHAN +00807323AHERN MONAGHAN +01201652ALLEN MONAGHAN +01148641ALLEN MONAGHAN +04735934AMBROSE MONAGHAN +09738908AMBROSE MONAGHAN +01549815AMBROSE MONAGHAN +02572179ANDREWS MONAGHAN +01721551ANDREWS MONAGHAN +03744244ANDREWS MONAGHAN +02205563ANGLAND MONAGHAN +04457886ANGLAND MONAGHAN +06788638APPLEBY MONAGHAN +06400746ASHTON MONAGHAN +08626069ASHTON MONAGHAN +03251124ATKINS MONAGHAN +07779397ATKINS MONAGHAN +00935898ATKINS MONAGHAN +02302369BAKER MONAGHAN +02302696BANNON MONAGHAN +03726167BANNON MONAGHAN +08951360BARKER MONAGHAN +00696465BARON MONAGHAN +01488238BARON MONAGHAN +01013290BARR MONAGHAN +08146403BARRETT MONAGHAN +07845602BARRETT MONAGHAN +01361542BARRETT MONAGHAN +04235406BARTON MONAGHAN +03477498BARTON MONAGHAN +05152421BEGLEY MONAGHAN +06299513BERRY MONAGHAN +06850695BLAKE MONAGHAN +00859651BOURKE MONAGHAN +07976601BOWLES MONAGHAN +00562262BOWLES MONAGHAN +03017213BOWLES MONAGHAN +02096965BRANNOCK MONAGHAN +03209667BRANNOCK MONAGHAN +07039896BREEN MONAGHAN +09874019BREHONY MONAGHAN +03630513BROUDER MONAGHAN +01437972BUCKELY MONAGHAN +09663203BUCKELY MONAGHAN +02957169BUCKELY MONAGHAN +07749631CAREY MONAGHAN +05199487CARRIGG MONAGHAN +03245586CASEY MONAGHAN +02333879CASSIDY MONAGHAN +05972316CLIFFORD MONAGHAN +08549961CLUNE MONAGHAN +01534884CLUNE MONAGHAN +01054585CLUNE MONAGHAN +05269635CLUNE MONAGHAN +08041704COFFEY MONAGHAN +03257631COFFEY MONAGHAN +02704394COLLINS MONAGHAN +07425256COLLINS MONAGHAN +09200576COLLINS MONAGHAN +00435134COOKE MONAGHAN +06086294COOKE MONAGHAN +07759718COUGHLAN MONAGHAN +09062074DALY MONAGHAN +07524441DALY MONAGHAN +03236280DALY MONAGHAN +00058076DE PAOR MONAGHAN +05807296DEE MONAGHAN +05555819DEE MONAGHAN +03641541DEE MONAGHAN +03739804DELANEY MONAGHAN +04520593DOHERTY MONAGHAN +09508570DOOGAN MONAGHAN +06770572DOWLING MONAGHAN +00138857DOWNES MONAGHAN +02319340DWAN MONAGHAN +06574051DWAN MONAGHAN +08747496EATON MONAGHAN +01869301EATON MONAGHAN +08063172EATON MONAGHAN +01800850FENTON MONAGHAN +02063584FINE MONAGHAN +05465222FINE MONAGHAN +06545023FINN MONAGHAN +01233500FINN MONAGHAN +01726335FITZHENRY MONAGHAN +01810841FITZHENRY MONAGHAN +01694386FITZPATRICK MONAGHAN +07475232FITZPATRICK MONAGHAN +04380849FITZPATRICK MONAGHAN +00242779FITZPATRICK MONAGHAN +08890795FLYNN MONAGHAN +09551866FLYNN MONAGHAN +08109256FOLEY MONAGHAN +01164956FOLEY MONAGHAN +04528159FOLEY MONAGHAN +02656651FOLEY MONAGHAN +03215162FORDE MONAGHAN +02740522FORDE MONAGHAN +07154595FORDE MONAGHAN +09623374GALWAY MONAGHAN +00533363GILL MONAGHAN +00977831GOGARTY MONAGHAN +06332974GREEN MONAGHAN +07028736GRIMES MONAGHAN +04197635HANNON MONAGHAN +03325000HANNON MONAGHAN +07673494HEALY MONAGHAN +09294860HEALY MONAGHAN +02265482HEALY MONAGHAN +00838506HEHIR MONAGHAN +02648912HOGAN MONAGHAN +06975656JOHNSON MONAGHAN +05738648JONES MONAGHAN +01059472KEANE MONAGHAN +05617246KEEHAN MONAGHAN +00964789KEEHAN MONAGHAN +04849447KELLY MONAGHAN +05218817KENNEDY MONAGHAN +01903088KENNEDY MONAGHAN +03548936KENNEDY MONAGHAN +03046547LAWLOR MONAGHAN +03077859LEAHY MONAGHAN +00637684LEAMY MONAGHAN +06553277LEAMY MONAGHAN +06873577LEAMY MONAGHAN +01716823LEDDIN MONAGHAN +09503243LEDDIN MONAGHAN +02868887LEDDIN MONAGHAN +00554984LONG MONAGHAN +06205658LONG MONAGHAN +02188188LOVETT MONAGHAN +05757621LYONS MONAGHAN +03358864MACDONAGH MONAGHAN +09442664MACDONAGH MONAGHAN +02458582MACDONAGH MONAGHAN +07840188MADDEN MONAGHAN +08115150MCBRIDE MONAGHAN +08480927MCBRIDE MONAGHAN +05645265MCCORMACK MONAGHAN +00486291MCCORMACK MONAGHAN +01629844MCCORMICK MONAGHAN +01885913MCCORMICK MONAGHAN +07901305MCCORMICK MONAGHAN +01377247MCCORMICK MONAGHAN +01636278MCDONAGH MONAGHAN +00548417MCDONNELL MONAGHAN +08928413MCDONNELL MONAGHAN +05619545MCELLIGOTT MONAGHAN +01117969MCELLIGOTT MONAGHAN +01731964MCGRATH MONAGHAN +08710144MCGUIRE MONAGHAN +07888184MCGUIRE MONAGHAN +00183899MCGUIRE MONAGHAN +06399375MCNAMARA MONAGHAN +06683101MCNAMARA MONAGHAN +07382071MCNULTY MONAGHAN +02408746MCNULTY MONAGHAN +01246969MITCHELL MONAGHAN +02767861MOLLOY MONAGHAN +00922854MOYNIHAN MONAGHAN +06356729MOYNIHAN MONAGHAN +03792043MURPHY MONAGHAN +08533617MURPHY MONAGHAN +06815792MURPHY MONAGHAN +08282451MURRAY MONAGHAN +07693904MURRAY MONAGHAN +07603025O'CONNELL MONAGHAN +08817808O'CONNOR MONAGHAN +08185180O'DWYER MONAGHAN +00885824O'GORMAN MONAGHAN +02818412O'GORMAN MONAGHAN +00717757O'GRADY MONAGHAN +02130266O'GRADY MONAGHAN +05458370O'GRADY MONAGHAN +07978495O'HALLORAN MONAGHAN +06184384O'HARA MONAGHAN +00885832O'MAIDIN MONAGHAN +01515095O'MAIDIN MONAGHAN +01336905O'MAIDIN MONAGHAN +02119630O'REAGAN MONAGHAN +02012347O'ROURKE MONAGHAN +08815681O'ROURKE MONAGHAN +00700232O'ROURKE MONAGHAN +08715704O'ROURKE MONAGHAN +08249505O'SHEA MONAGHAN +03953608O'SHEA MONAGHAN +06830785O'SHEA MONAGHAN +05979009O'SULLIVAN MONAGHAN +05209223O'SULLIVAN MONAGHAN +01667105POWER MONAGHAN +05552680POWER MONAGHAN +03048361POWER MONAGHAN +05746666POWER MONAGHAN +08545529QUAID MONAGHAN +01289799QUAID MONAGHAN +08167911QUAID MONAGHAN +05071489QUANE MONAGHAN +01595277QUILLE MONAGHAN +02872986QUIN MONAGHAN +01057727QUIN MONAGHAN +04888222REIDY MONAGHAN +06692797RICHARDSON MONAGHAN +06453622RUTLAND MONAGHAN +07746478RYAN MONAGHAN +00182063RYAN MONAGHAN +06124481SAVAGE MONAGHAN +08147575SCANLON MONAGHAN +08105832SCANLON MONAGHAN +05011440SCANLON MONAGHAN +07638851SCANNELL MONAGHAN +09142300SCANNELL MONAGHAN +06440008SCANNELL MONAGHAN +05233107SHEAHAN MONAGHAN +06697883SHEAHAN MONAGHAN +02430509SHEAHAN MONAGHAN +07082778SHEAHAN MONAGHAN +02226481SHEEHY MONAGHAN +07761176SHINNERS MONAGHAN +00863456SHINNERS-KENNEDY MONAGHAN +00374726SLATER MONAGHAN +02497715SLATTERY MONAGHAN +02892797STANLEY-SMITH MONAGHAN +02629553SUTCLIFFE MONAGHAN +09814924TRIMBLE MONAGHAN +02355025TRIMBLE MONAGHAN +05372747VAUGHAN MONAGHAN +00936537VAUGHAN MONAGHAN +05469673VAUGHAN MONAGHAN +03447474VAUGHAN MONAGHAN +08805759WHEALAN MONAGHAN +01388237WHEALAN MONAGHAN +06803553WHEALAN MONAGHAN +01189054WHEALAN MONAGHAN +09634228WHEALAN MONAGHAN +04960574WHITE MONAGHAN +02335591WILLIAMS MONAGHAN +03823229WILLIAMS MONAGHAN +02545688WOODS MONAGHAN +05501823WOODS MONAGHAN +07321267YOUNG MONAGHAN +06259065YOUNG MONAGHAN +01478539AGNEW ROSCOMMON +07628054ALLEN ROSCOMMON +04814263AMBROSE ROSCOMMON +05481206ANDREWS ROSCOMMON +03610726ANDREWS ROSCOMMON +08740609ANGLAND ROSCOMMON +00071408APPLEBY ROSCOMMON +05731713APPLEBY ROSCOMMON +08940733ASHE ROSCOMMON +03723789ASHE ROSCOMMON +05700176ATKINS ROSCOMMON +01347412BAILEY ROSCOMMON +07104599BAILEY ROSCOMMON +03860232BAILEY ROSCOMMON +00568328BAKER ROSCOMMON +07226941BANNON ROSCOMMON +06293745BARKER ROSCOMMON +00289318BARKER ROSCOMMON +07561522BARLOW ROSCOMMON +03857197BARLOW ROSCOMMON +03087411BARLOW ROSCOMMON +00610477BARON ROSCOMMON +03189333BARON ROSCOMMON +03816990BARON ROSCOMMON +04365304BARON ROSCOMMON +03850015BARR ROSCOMMON +05029190BARR ROSCOMMON +04186326BARRETT ROSCOMMON +08116057BARRY ROSCOMMON +01331795BARTON ROSCOMMON +09115427BEGLEY ROSCOMMON +08087967BEGLEY ROSCOMMON +00299560BEGLEY ROSCOMMON +00025658BEGLEY ROSCOMMON +05736881BERMINGHAM ROSCOMMON +03722821BERRY ROSCOMMON +03264493BLAKE ROSCOMMON +04008825BLAKE ROSCOMMON +03910982BOWLES ROSCOMMON +08326246BOWLES ROSCOMMON +07877998BREEN ROSCOMMON +06231010BREEN ROSCOMMON +06054259BREEN ROSCOMMON +04617693BREEN ROSCOMMON +01613193BREHONY ROSCOMMON +00591807BRISLANE ROSCOMMON +03216901BRISLANE ROSCOMMON +06696075BRISLANE ROSCOMMON +06930026BROWNE ROSCOMMON +02697569BROWNE ROSCOMMON +01761779BUCKELY ROSCOMMON +01067212BURNS ROSCOMMON +00543597CAHILL ROSCOMMON +00452928CAHILL ROSCOMMON +04558445CAREY ROSCOMMON +03988302CAREY ROSCOMMON +07034465CARRIGG ROSCOMMON +01053761CARRIGG ROSCOMMON +02591281CARRIGG ROSCOMMON +07506940CASEY ROSCOMMON +00100080CASEY ROSCOMMON +09946338CASEY ROSCOMMON +09226457CASSIDY ROSCOMMON +09638952CHAWKE ROSCOMMON +04081441CLEARY ROSCOMMON +03697491CLEARY ROSCOMMON +06808733CLINTON ROSCOMMON +04368049CLINTON ROSCOMMON +03325060COFFEY ROSCOMMON +05932930COHALAN ROSCOMMON +02715426COHALAN ROSCOMMON +00124928COLLINS ROSCOMMON +03979844COLLINS ROSCOMMON +03552919COLLINS ROSCOMMON +01745149COLLINS ROSCOMMON +02240437COLLINS ROSCOMMON +08920583COLLINS ROSCOMMON +01587294COLLINS ROSCOMMON +02689073CONROY ROSCOMMON +00429018CONROY ROSCOMMON +04665150COOKE ROSCOMMON +07976120COOKE ROSCOMMON +09432183COOKE ROSCOMMON +04626156COOKE ROSCOMMON +06593340COUGHLAN ROSCOMMON +00353749COUGHLAN ROSCOMMON +07847830DALY ROSCOMMON +01920786DE PAOR ROSCOMMON +02941008DEE ROSCOMMON +03025950DELANEY ROSCOMMON +04430660DELANEY ROSCOMMON +04377725DELANEY ROSCOMMON +00598971DOHERTY ROSCOMMON +05292107DOOGAN ROSCOMMON +06509464DOORLEY ROSCOMMON +01884582DOORLEY ROSCOMMON +03273448DOORLEY ROSCOMMON +09711470DOWLING ROSCOMMON +01519527DOWNES ROSCOMMON +06324208DWAN ROSCOMMON +02055181DWAN ROSCOMMON +08095294DWAN ROSCOMMON +09994706EATON ROSCOMMON +08859788FENTON ROSCOMMON +07293966FENTON ROSCOMMON +02207390FINE ROSCOMMON +02393236FINE ROSCOMMON +04192446FINE ROSCOMMON +02948014FITZGERALD ROSCOMMON +05406197FITZHENRY ROSCOMMON +03641623FITZHENRY ROSCOMMON +07812281FITZMAURICE ROSCOMMON +03182384FITZMAURICE ROSCOMMON +02684599FLAHERTY ROSCOMMON +05464924FLAHERTY ROSCOMMON +00810797FLAHERTY ROSCOMMON +08503669FLAHERTY ROSCOMMON +05302352FLAHERTY ROSCOMMON +02044037FLAHERTY ROSCOMMON +05765513FLANAGAN ROSCOMMON +02292954FLANAGAN ROSCOMMON +03989992FLANNERY ROSCOMMON +04452114FLANNERY ROSCOMMON +05934467FOLEY ROSCOMMON +01777938GALWAY ROSCOMMON +02703500GALWAY ROSCOMMON +08228332GILL ROSCOMMON +03521271GOGARTY ROSCOMMON +09300720GOGARTY ROSCOMMON +08882232GOGARTY ROSCOMMON +07691141GREEN ROSCOMMON +07451863HALVEY ROSCOMMON +06318578HANLY ROSCOMMON +09516832HANNON ROSCOMMON +01602617HAYES ROSCOMMON +06511144HEHIR ROSCOMMON +05078734HEHIR ROSCOMMON +04081549HENCHY ROSCOMMON +06157710HENCHY ROSCOMMON +00091330HOGAN ROSCOMMON +07260463HOGAN ROSCOMMON +04860862JONES ROSCOMMON +09284703KEANE ROSCOMMON +08662570KEANE ROSCOMMON +00285629KEANE ROSCOMMON +00074826KEEHAN ROSCOMMON +01561468KEEHAN ROSCOMMON +09532855KELLY ROSCOMMON +06797192KELLY ROSCOMMON +09386539KELLY ROSCOMMON +01251648KENNEDY ROSCOMMON +00197206KEYES ROSCOMMON +03301119KEYES ROSCOMMON +04054099KEYES ROSCOMMON +09034427LEAHY ROSCOMMON +07009009LEAHY ROSCOMMON +05765740LEAMY ROSCOMMON +06189320LEAMY ROSCOMMON +06385577LEDDIN ROSCOMMON +03719810LISTON ROSCOMMON +08780112LITTLE ROSCOMMON +09667606LITTLE ROSCOMMON +06261769LONG ROSCOMMON +08811981LONG ROSCOMMON +07423443LONG ROSCOMMON +02107399LYONS ROSCOMMON +02112372LYONS ROSCOMMON +03366090MACCURTIN ROSCOMMON +00725835MACCURTIN ROSCOMMON +05100871MACCURTIN ROSCOMMON +03854574MACDONAGH ROSCOMMON +07990978MANGAN ROSCOMMON +02776513MCBRIDE ROSCOMMON +08982919MCBRIDE ROSCOMMON +04827525MCBRIDE ROSCOMMON +01707143MCCORMACK ROSCOMMON +02879126MCDONAGH ROSCOMMON +06458132MCDONNELL ROSCOMMON +08020162MCDONNELL ROSCOMMON +08648408MCDONNELL ROSCOMMON +08409127MCDONNELL ROSCOMMON +09541282MCGUIRE ROSCOMMON +04708053MCGUIRE ROSCOMMON +06015301MCNULTY ROSCOMMON +07644479MITCHELL ROSCOMMON +05808616MITCHELL ROSCOMMON +09297055MOLLOY ROSCOMMON +02750180MOLLOY ROSCOMMON +01804952MOLONEY ROSCOMMON +09460280MURPHY ROSCOMMON +07236453MURRAY ROSCOMMON +09059114O'BRIEN ROSCOMMON +08620220O'BRIEN ROSCOMMON +09753859O'CONNELL ROSCOMMON +05668061O'DWYER ROSCOMMON +07812820O'DWYER ROSCOMMON +07644545O'DWYER ROSCOMMON +00421531O'GORMAN ROSCOMMON +06503463O'GRADY ROSCOMMON +05956626O'GRADY ROSCOMMON +04907524O'HALLORAN ROSCOMMON +00593299O'HALLORAN ROSCOMMON +00862923O'HARA ROSCOMMON +02324525O'MAIDIN ROSCOMMON +00889901O'MAIDIN ROSCOMMON +03298675O'NEILL ROSCOMMON +06158663O'NEILL ROSCOMMON +03611480O'NEILL ROSCOMMON +03731623O'NEILL ROSCOMMON +09271651O'REAGAN ROSCOMMON +09232213O'SHEA ROSCOMMON +09294342O'SULLIVAN ROSCOMMON +02987103POWER ROSCOMMON +04837397PURCELL ROSCOMMON +06723717PURCELL ROSCOMMON +03977907QUAID ROSCOMMON +00846595QUANE ROSCOMMON +09065879QUANE ROSCOMMON +03757978QUANE ROSCOMMON +01417083QUILLE ROSCOMMON +06354452QUIN ROSCOMMON +01888759REIDY ROSCOMMON +03404671REIDY ROSCOMMON +02112808RELIHAN ROSCOMMON +04158423RELIHAN ROSCOMMON +03386603RICHARDSON ROSCOMMON +08898272RICHARDSON ROSCOMMON +05684011RUTLAND ROSCOMMON +06933922RYAN ROSCOMMON +09813482SAVAGE ROSCOMMON +07700584SAVAGE ROSCOMMON +02642020SCANLON ROSCOMMON +04926934SCANLON ROSCOMMON +08589576SHEAHAN ROSCOMMON +03520179SHEEHY ROSCOMMON +08200770SHEEHY ROSCOMMON +07216933SHEEHY ROSCOMMON +04749768SHEEHY ROSCOMMON +02457230SHINNERS ROSCOMMON +04259498SHINNERS ROSCOMMON +07235512SHINNERS-KENNEDY ROSCOMMON +03058855SOMERS ROSCOMMON +05317941SOMERS ROSCOMMON +00292014SPILLANE ROSCOMMON +08215853SPILLANE ROSCOMMON +09363447STANLEY-SMITH ROSCOMMON +08274972STANLEY-SMITH ROSCOMMON +09529020SUTCLIFFE ROSCOMMON +01212738SUTCLIFFE ROSCOMMON +06164641THOMSON ROSCOMMON +02371551THOMSON ROSCOMMON +07252571THORNTON ROSCOMMON +08785806TRIMBLE ROSCOMMON +01865250TRIMBLE ROSCOMMON +06986935TRIMBLE ROSCOMMON +02205237VAUGHAN ROSCOMMON +05203596WHEALAN ROSCOMMON +01805021WHEALAN ROSCOMMON +02279439WHEALAN ROSCOMMON +05368846WHEALAN ROSCOMMON +08115179WHITE ROSCOMMON +02289709WHITE ROSCOMMON +08895525WILLIAMS ROSCOMMON +08134506YOUNG ROSCOMMON +08387256YOUNG ROSCOMMON +02256528AGNEW SLIGO +03767517AGNEW SLIGO +02765372AHERN SLIGO +00370757ALLEN SLIGO +07192833ANGLAND SLIGO +09649853ASHTON SLIGO +02752821ASHTON SLIGO +03388887ASHTON SLIGO +07971347ASHTON SLIGO +07666365ATKINS SLIGO +08590916ATKINS SLIGO +06724510BAKER SLIGO +07455261BANNON SLIGO +02406852BANNON SLIGO +09177404BARKER SLIGO +07356334BARLOW SLIGO +03044148BARON SLIGO +00754663BARR SLIGO +04116846BARR SLIGO +05800263BARRETT SLIGO +05155454BARRETT SLIGO +04405062BARRY SLIGO +06367398BARRY SLIGO +04091411BARRY SLIGO +07634838BARRY SLIGO +09741554BARTON SLIGO +09760916BERMINGHAM SLIGO +03224907BERRY SLIGO +09175870BIRD SLIGO +07678511BIRD SLIGO +05670568BLAKE SLIGO +07209093BOLAND SLIGO +02984474BOLAND SLIGO +07812908BOLGER SLIGO +02048729BOURKE SLIGO +06805569BOWLES SLIGO +08524265BRANNOCK SLIGO +05299665BRANNOCK SLIGO +05311617BREEN SLIGO +01616839BREHONY SLIGO +02182966BREHONY SLIGO +06778551BRISLANE SLIGO +07448549BRISLANE SLIGO +06847804BROUDER SLIGO +04331811BROWN SLIGO +01238435BROWN SLIGO +05553222BROWNE SLIGO +00524672BROWNE SLIGO +09175518BROWNE SLIGO +03637494BUCKELY SLIGO +03064089BUCKELY SLIGO +07260193BUCKELY SLIGO +00171071BURNS SLIGO +02067907BURNS SLIGO +06270074CAHILL SLIGO +02398221CASEY SLIGO +08383473CASSIDY SLIGO +04132311CASSIDY SLIGO +08785223CASSIDY SLIGO +04791049CHAWKE SLIGO +00354636CHAWKE SLIGO +02327466CLIFFORD SLIGO +02757931CLIFFORD SLIGO +08043523CLIFFORD SLIGO +02684368CLIFFORD SLIGO +04569330CLINTON SLIGO +06644308CLUNE SLIGO +05887462COAKLEY SLIGO +04777391COAKLEY SLIGO +07993204COAKLEY SLIGO +07663270COFFEY SLIGO +00611568COLLINS SLIGO +03203537COLLINS SLIGO +00209080COLLINS SLIGO +09650072CONROY SLIGO +03276339COOKE SLIGO +05071121COOKE SLIGO +09002496COOKE SLIGO +09319160COOKE SLIGO +00204010DE PAOR SLIGO +06895463DE PAOR SLIGO +04744977DE PAOR SLIGO +03558577DEE SLIGO +01389234DEE SLIGO +04121134DEE SLIGO +05765663DELANEY SLIGO +07591249DELANEY SLIGO +09282070DOOGAN SLIGO +06206460DOWNES SLIGO +01962235DWAN SLIGO +07120520FENTON SLIGO +08416376FINE SLIGO +01596761FINE SLIGO +09975577FINE SLIGO +00273299FINE SLIGO +05727892FINN SLIGO +00655164FITZHENRY SLIGO +00900541FITZMAURICE SLIGO +00148587FITZMAURICE SLIGO +02484922FITZMAURICE SLIGO +06811983FLAHERTY SLIGO +07120910FLAHERTY SLIGO +09898631FLAHERTY SLIGO +06540527FLAHERTY SLIGO +07333473FLANAGAN SLIGO +08476648FLANAGAN SLIGO +03340240FLYNN SLIGO +05068003GRIMES SLIGO +06646442HANLY SLIGO +08221645HANLY SLIGO +07066977HANLY SLIGO +05183818HANNON SLIGO +02313908HANNON SLIGO +09391771HAYES SLIGO +09603808HEALY SLIGO +07843332HEALY SLIGO +02450802HEALY SLIGO +02657310HEHIR SLIGO +06812438HEHIR SLIGO +02307797HENCHY SLIGO +06999792HOGAN SLIGO +04513140KEANE SLIGO +05255580KEANE SLIGO +05522366KEEHAN SLIGO +09693052KELLY SLIGO +06009080KEYES SLIGO +08147363KEYES SLIGO +06958076KEYES SLIGO +03011311LAWLOR SLIGO +03688435LAWLOR SLIGO +04732245LEAHY SLIGO +09539451LEAMY SLIGO +04945055LEAMY SLIGO +00466578LEDDIN SLIGO +00687992LEDDIN SLIGO +06435728LEDDIN SLIGO +05709735LEDDIN SLIGO +05790666LISTON SLIGO +09277232LISTON SLIGO +05450413LISTON SLIGO +09426277LISTON SLIGO +08595410LITTLE SLIGO +04522506LITTLE SLIGO +02668333LONG SLIGO +00311129LOVETT SLIGO +07514065LYONS SLIGO +01441090MACCURTIN SLIGO +06771781MACCURTIN SLIGO +08132145MACDONAGH SLIGO +06251483MACDONAGH SLIGO +01650407MADDEN SLIGO +02271249MALONE SLIGO +00428615MALONE SLIGO +03332471MANGAN SLIGO +01138637MANLEY SLIGO +01716354MANLEY SLIGO +08442562MCBRIDE SLIGO +04924735MCCORMACK SLIGO +03088887MCCORMICK SLIGO +06455293MCDONAGH SLIGO +04884017MCDONAGH SLIGO +03524684MCDONAGH SLIGO +09558676MCDONNELL SLIGO +06764227MCDONNELL SLIGO +00043600MCELLIGOTT SLIGO +08264097MCELLIGOTT SLIGO +05703039MCELLIGOTT SLIGO +05221071MCGRATH SLIGO +07080637MCGUIRE SLIGO +03338377MCNAMARA SLIGO +06739600MCNULTY SLIGO +03786449MOLONEY SLIGO +04521806MOLONEY SLIGO +03140871MOYNIHAN SLIGO +02381709MURPHY SLIGO +09450838O'BRIEN SLIGO +01868187O'BRIEN SLIGO +09590392O'CONNOR SLIGO +01331804O'CONNOR SLIGO +01411220O'CONNOR SLIGO +01434643O'CONNOR SLIGO +06002565O'GRADY SLIGO +04635653O'HALLORAN SLIGO +09029309O'HALLORAN SLIGO +09299135O'HARA SLIGO +02009958O'MAIDIN SLIGO +09465295O'REAGAN SLIGO +09507877O'REAGAN SLIGO +03458559O'ROURKE SLIGO +07393718O'ROURKE SLIGO +01438595O'ROURKE SLIGO +08638332O'SHEA SLIGO +09397005O'SULLIVAN SLIGO +03870270O'SULLIVAN SLIGO +00083478O'SULLIVAN SLIGO +08656653PURCELL SLIGO +08979081QUAID SLIGO +03087678QUAID SLIGO +09878533QUANE SLIGO +00798866QUIN SLIGO +08173665QUIN SLIGO +08841982QUIN SLIGO +00112998REIDY SLIGO +07971803REIDY SLIGO +04605251SAVAGE SLIGO +07901634SAVAGE SLIGO +05275160SAVAGE SLIGO +00774796SCANNELL SLIGO +05933059SHEAHAN SLIGO +06616606SHEAHAN SLIGO +01065063SHEAHAN SLIGO +07449336SHEAHAN SLIGO +07388738SHEEHY SLIGO +04543078SHEEHY SLIGO +00980294SHEEHY SLIGO +03041117SHINNERS SLIGO +07188566SHINNERS SLIGO +09110073SHINNERS-KENNEDY SLIGO +04214447SHINNERS-KENNEDY SLIGO +00724807SLATER SLIGO +00806871SLATTERY SLIGO +06316075STANLEY-SMITH SLIGO +09702269SUTCLIFFE SLIGO +07723544SUTCLIFFE SLIGO +05355996THOMSON SLIGO +05434076THORNTON SLIGO +01572912THORNTON SLIGO +09816586TRIMBLE SLIGO +01776670TRIMBLE SLIGO +04305844WHEALAN SLIGO +03977972WHEALAN SLIGO +09716485WOODS SLIGO +09962099WOODS SLIGO +02687719AGNEW TIPPERARY +04137871AHERN TIPPERARY +09942562ALLEN TIPPERARY +02674966ALLEN TIPPERARY +08852538AMBROSE TIPPERARY +00772924ANDREWS TIPPERARY +06413358APPLEBY TIPPERARY +03651445APPLEBY TIPPERARY +05677285ASHTON TIPPERARY +03206049ASHTON TIPPERARY +09042602ATKINS TIPPERARY +02296860BAILEY TIPPERARY +07766960BAKER TIPPERARY +03582266BAKER TIPPERARY +04613598BANNON TIPPERARY +09670930BANNON TIPPERARY +08997883BANNON TIPPERARY +02146207BARKER TIPPERARY +04670746BARKER TIPPERARY +02216071BARLOW TIPPERARY +03228103BARON TIPPERARY +00013405BARON TIPPERARY +09496027BARRETT TIPPERARY +03972356BARRETT TIPPERARY +08022776BARRETT TIPPERARY +09690502BARRY TIPPERARY +04812318BARTON TIPPERARY +03657678BEGLEY TIPPERARY +02590564BEGLEY TIPPERARY +05718558BERMINGHAM TIPPERARY +07517707BIRD TIPPERARY +09278137BLAKE TIPPERARY +07777274BLAKE TIPPERARY +06362445BOLAND TIPPERARY +05552441BOLAND TIPPERARY +05168566BOLGER TIPPERARY +03247176BOLGER TIPPERARY +03333874BOWLES TIPPERARY +06160049BRANNOCK TIPPERARY +02436838BRANNOCK TIPPERARY +01990279BRANNOCK TIPPERARY +02296318BRANNOCK TIPPERARY +04775767BREEN TIPPERARY +07724121BREHONY TIPPERARY +02266093BREHONY TIPPERARY +03347817BREHONY TIPPERARY +00770970BRISLANE TIPPERARY +05219642BRISLANE TIPPERARY +00803595BROUDER TIPPERARY +08809171BROWN TIPPERARY +06080106BROWN TIPPERARY +08558578BROWNE TIPPERARY +07957729BROWNE TIPPERARY +05721696BROWNE TIPPERARY +03232080BUCKELY TIPPERARY +07641594BURNS TIPPERARY +01572038BURNS TIPPERARY +02349953BURNS TIPPERARY +00534407CAHILL TIPPERARY +07493986CAHILL TIPPERARY +09347622CASSIDY TIPPERARY +02552976CHAWKE TIPPERARY +03426625CHAWKE TIPPERARY +09735570CLEARY TIPPERARY +00632639CLEARY TIPPERARY +06955590CLIFFORD TIPPERARY +08301927CLIFFORD TIPPERARY +04579060CLINTON TIPPERARY +04762102CLINTON TIPPERARY +02648483CLUNE TIPPERARY +03200590CLUNE TIPPERARY +00717136CLUNE TIPPERARY +03217928COFFEY TIPPERARY +09925998COLEMAN TIPPERARY +06412204COLLINS TIPPERARY +04390800COLLINS TIPPERARY +07809143COLLINS TIPPERARY +04248380COLLINS TIPPERARY +00426519COLLINS TIPPERARY +09892964COLLINS TIPPERARY +09986278CONROY TIPPERARY +02579860COOKE TIPPERARY +01505290COOKE TIPPERARY +09562160COUGHLAN TIPPERARY +02865112DALY TIPPERARY +06881539DALY TIPPERARY +02750113DE PAOR TIPPERARY +00828873DE PAOR TIPPERARY +09906937DEE TIPPERARY +00998879DEE TIPPERARY +09711338DELANEY TIPPERARY +06095468DELANEY TIPPERARY +05417227DOHERTY TIPPERARY +08630946DOOGAN TIPPERARY +03868429DOOGAN TIPPERARY +09842791DOORLEY TIPPERARY +06722693DOWLING TIPPERARY +05064038DURKAN TIPPERARY +02051170DWAN TIPPERARY +02292420DWAN TIPPERARY +05336702EATON TIPPERARY +09439814EATON TIPPERARY +03113151FENTON TIPPERARY +02706938FENTON TIPPERARY +04507020FENTON TIPPERARY +07426331FENTON TIPPERARY +03089706FINE TIPPERARY +05139990FINN TIPPERARY +08208346FINN TIPPERARY +06340602FITZHENRY TIPPERARY +06978358FITZMAURICE TIPPERARY +01481967FITZMAURICE TIPPERARY +06102868FLANAGAN TIPPERARY +07404455FLANAGAN TIPPERARY +03655349FLANAGAN TIPPERARY +04724472FLANAGAN TIPPERARY +09168538FLYNN TIPPERARY +08604757FOLEY TIPPERARY +08467669FOLEY TIPPERARY +02487322FORDE TIPPERARY +02080176GALWAY TIPPERARY +07006520GALWAY TIPPERARY +06197048GILL TIPPERARY +05615421GOGARTY TIPPERARY +08365991GOGARTY TIPPERARY +03546545GREEN TIPPERARY +00724430GREEN TIPPERARY +02343103GRIMES TIPPERARY +04467897GRIMES TIPPERARY +00326773GRIMES TIPPERARY +08823985HALVEY TIPPERARY +07969094HALVEY TIPPERARY +05904723HALVEY TIPPERARY +00300077HANNON TIPPERARY +00251399HAYES TIPPERARY +00500902HAYES TIPPERARY +01890320HENCHY TIPPERARY +08954274HOGAN TIPPERARY +02049807JOHNSON TIPPERARY +03099597JONES TIPPERARY +09444558KEANE TIPPERARY +03365300KEANE TIPPERARY +05889937KEANE TIPPERARY +05011765KENNEDY TIPPERARY +05078302KENNEDY TIPPERARY +04486841KEYES TIPPERARY +08755137LAWLOR TIPPERARY +09255208LEAHY TIPPERARY +07630129LEAHY TIPPERARY +09626332LEAMY TIPPERARY +08822135LEAMY TIPPERARY +03773473LEDDIN TIPPERARY +07745891LEDDIN TIPPERARY +01793657LISTON TIPPERARY +06177122LITTLE TIPPERARY +09729944LONG TIPPERARY +02689290LONG TIPPERARY +00195517LOVETT TIPPERARY +04021546LOVETT TIPPERARY +02604174LOVETT TIPPERARY +00164500LYONS TIPPERARY +04664890MACCURTIN TIPPERARY +04392626MACDONAGH TIPPERARY +05166050MACDONAGH TIPPERARY +00622359MADDEN TIPPERARY +02864907MALONE TIPPERARY +00068168MALONE TIPPERARY +06041994MANGAN TIPPERARY +03355705MANGAN TIPPERARY +07060499MCBRIDE TIPPERARY +02226939MCCORMICK TIPPERARY +01976985MCCORMICK TIPPERARY +09874199MCDONAGH TIPPERARY +00052198MCDONAGH TIPPERARY +02843491MCDONAGH TIPPERARY +01379553MCELLIGOTT TIPPERARY +03274212MCGRATH TIPPERARY +02302823MCGUIRE TIPPERARY +01286791MCNAMARA TIPPERARY +08051117MITCHELL TIPPERARY +02121617MITCHELL TIPPERARY +05311452MOLLOY TIPPERARY +05428116MOLLOY TIPPERARY +04419759MOLONEY TIPPERARY +08284949MOLONEY TIPPERARY +07730015MOLONEY TIPPERARY +08245507MURPHY TIPPERARY +05568473MURPHY TIPPERARY +02585069MURPHY TIPPERARY +07334078MURPHY TIPPERARY +06307509NOONE TIPPERARY +09274947O'BRIEN TIPPERARY +08244506O'BRIEN TIPPERARY +06452761O'CONNELL TIPPERARY +01552074O'CONNOR TIPPERARY +07535853O'CONNOR TIPPERARY +09771880O'GORMAN TIPPERARY +04471724O'HALLORAN TIPPERARY +06939459O'HARA TIPPERARY +09775820O'NEILL TIPPERARY +05094520O'REAGAN TIPPERARY +00343227O'ROURKE TIPPERARY +03874985O'ROURKE TIPPERARY +02164513O'SHEA TIPPERARY +06250711O'SHEA TIPPERARY +00998752O'SULLIVAN TIPPERARY +01646458O'SULLIVAN TIPPERARY +07044064O'SULLIVAN TIPPERARY +02944690O'SULLIVAN TIPPERARY +05210945POWER TIPPERARY +08998907PURCELL TIPPERARY +03832440PURCELL TIPPERARY +08832557PURCELL TIPPERARY +03309277PURCELL TIPPERARY +04689657QUAID TIPPERARY +05980945QUANE TIPPERARY +07161902QUANE TIPPERARY +01617417QUIN TIPPERARY +01648219QUIN TIPPERARY +00699243REIDY TIPPERARY +01096353REIDY TIPPERARY +04190573RELIHAN TIPPERARY +02642281RELIHAN TIPPERARY +09393751REYNOLDS TIPPERARY +04597279REYNOLDS TIPPERARY +01802242RICHARDSON TIPPERARY +01632204RICHARDSON TIPPERARY +00916392RICHARDSON TIPPERARY +01201562RUTLAND TIPPERARY +08686564RUTLAND TIPPERARY +04683100RYAN TIPPERARY +08681202RYAN TIPPERARY +07802310SCANLON TIPPERARY +05055227SCANLON TIPPERARY +00603537SCANNELL TIPPERARY +05399655SHEAHAN TIPPERARY +06826187SHEAHAN TIPPERARY +07427709SHEEHY TIPPERARY +08920935SHINNERS TIPPERARY +07817940SHINNERS-KENNEDY TIPPERARY +09219556SLATER TIPPERARY +02608712SLATER TIPPERARY +02708223SOMERS TIPPERARY +09194845SPILLANE TIPPERARY +06445393STANLEY-SMITH TIPPERARY +00484691STANLEY-SMITH TIPPERARY +09679105SUTCLIFFE TIPPERARY +07696796SUTCLIFFE TIPPERARY +00556222THOMSON TIPPERARY +08441208THOMSON TIPPERARY +02099152THORNTON TIPPERARY +02973156THORNTON TIPPERARY +00349003THORNTON TIPPERARY +08880315TRIMBLE TIPPERARY +09326716VAUGHAN TIPPERARY +06083269WHEALAN TIPPERARY +05460518WHEALAN TIPPERARY +08214816WHEALAN TIPPERARY +07214935WHITE TIPPERARY +08631275WHITE TIPPERARY +03496857WILLIAMS TIPPERARY +08174167WILLIAMS TIPPERARY +03907737WILLIAMS TIPPERARY +08093665WILLIAMS TIPPERARY +02452482WOODS TIPPERARY +01844311AGNEW WATERFORD +03471007AHERN WATERFORD +09389149ALLEN WATERFORD +03486998ANDREWS WATERFORD +02467258ANDREWS WATERFORD +04528238ANGLAND WATERFORD +05380861ASHTON WATERFORD +03862801ASHTON WATERFORD +01950634ATKINS WATERFORD +08766839ATKINS WATERFORD +00148968BAILEY WATERFORD +08221010BAKER WATERFORD +09462748BAKER WATERFORD +03162751BAKER WATERFORD +01511711BARLOW WATERFORD +06082029BARLOW WATERFORD +05049236BARON WATERFORD +07768946BARON WATERFORD +09247456BARON WATERFORD +02631543BARON WATERFORD +01579637BARTON WATERFORD +08912737BEGLEY WATERFORD +08073716BEGLEY WATERFORD +00695637BERRY WATERFORD +06065655BIRD WATERFORD +06887021BIRD WATERFORD +08398391BIRD WATERFORD +03031319BOLAND WATERFORD +08274190BOLGER WATERFORD +03896802BOLGER WATERFORD +02237094BOLGER WATERFORD +07985270BOURKE WATERFORD +02550560BOURKE WATERFORD +01484616BOURKE WATERFORD +06937742BRANNOCK WATERFORD +01995618BRANNOCK WATERFORD +06485689BRANNOCK WATERFORD +01280124BRANNOCK WATERFORD +02969629BREHONY WATERFORD +04370118BREHONY WATERFORD +06070893BRENNAN WATERFORD +00810738BRENNAN WATERFORD +01500068BRISLANE WATERFORD +07905946BROUDER WATERFORD +01739218BROUDER WATERFORD +06574627BROWN WATERFORD +01114588BROWN WATERFORD +00470474BROWNE WATERFORD +05981178BURNS WATERFORD +00875564BURNS WATERFORD +03531102BURNS WATERFORD +07486939CAREY WATERFORD +09694652CARRIGG WATERFORD +08998983CARRIGG WATERFORD +02605943CASEY WATERFORD +07655335CASSIDY WATERFORD +03156806CASSIDY WATERFORD +06985339CASSIDY WATERFORD +00465178CHAWKE WATERFORD +04884588CLEARY WATERFORD +05550232CLEARY WATERFORD +03555969CLEARY WATERFORD +09779365CLEARY WATERFORD +03884547CLIFFORD WATERFORD +09612436CLINTON WATERFORD +07666701CLINTON WATERFORD +09255985CLUNE WATERFORD +01964184COAKLEY WATERFORD +03337119COAKLEY WATERFORD +05957250COFFEY WATERFORD +04947898COFFEY WATERFORD +00884151COFFEY WATERFORD +05037493COFFEY WATERFORD +08054504COFFEY WATERFORD +02715166COLEMAN WATERFORD +00366886COLEMAN WATERFORD +05758692COLLINS WATERFORD +04251430COLLINS WATERFORD +00383773COLLINS WATERFORD +02611657COLLINS WATERFORD +02443648COLLINS WATERFORD +00664016CONROY WATERFORD +00342477CONROY WATERFORD +08675768COOKE WATERFORD +08659352COOKE WATERFORD +07631850COUGHLAN WATERFORD +02220560COUGHLAN WATERFORD +06253750COUGHLAN WATERFORD +06427875COUGHLAN WATERFORD +08457198COUGHLAN WATERFORD +05928934COUGHLAN WATERFORD +08068236COUGHLAN WATERFORD +08457198COUGHLAN WATERFORD +05928934COUGHLAN WATERFORD +08068236COUGHLAN WATERFORD +00893348DALY WATERFORD +09523989DEE WATERFORD +06127956DEE WATERFORD +08512308DOOGAN WATERFORD +04769446DOOGAN WATERFORD +09820150DOOGAN WATERFORD +09262025DOORLEY WATERFORD +07104556DOWLING WATERFORD +04326838DOWLING WATERFORD +06665686DOWNES WATERFORD +07170932DURKAN WATERFORD +05794125DWAN WATERFORD +02891136DWAN WATERFORD +09936413EATON WATERFORD +01567624FENTON WATERFORD +05973587FITZGERALD WATERFORD +04398162FITZMAURICE WATERFORD +01391604FLAHERTY WATERFORD +03150846FLAHERTY WATERFORD +08534577FLANAGAN WATERFORD +06151010FLANAGAN WATERFORD +09754098FLANNERY WATERFORD +03885981FLANNERY WATERFORD +07561685FLYNN WATERFORD +08668625FLYNN WATERFORD +00092092FLYNN WATERFORD +01432088FLYNN WATERFORD +02124128FOLEY WATERFORD +02236485FORDE WATERFORD +04176203FORDE WATERFORD +07905053GALWAY WATERFORD +04431184GALWAY WATERFORD +07707067GALWAY WATERFORD +04087406GOGARTY WATERFORD +07585236HALVEY WATERFORD +01535963HALVEY WATERFORD +08127965HALVEY WATERFORD +02310830HALVEY WATERFORD +05246384HANLY WATERFORD +08188042HANLY WATERFORD +04531597HANLY WATERFORD +03788986HANNON WATERFORD +09704183HANNON WATERFORD +03685450HANNON WATERFORD +00382228HAYES WATERFORD +04236358HEALY WATERFORD +02665614HENCHY WATERFORD +02612545HENCHY WATERFORD +08102534JOHNSON WATERFORD +03603959JONES WATERFORD +06398587JONES WATERFORD +06334589JONES WATERFORD +00887741JONES WATERFORD +00200324KEEHAN WATERFORD +03866167KEEHAN WATERFORD +04692511KELLY WATERFORD +07426836KEYES WATERFORD +03274137KEYES WATERFORD +01461688LEAMY WATERFORD +00744780LEAMY WATERFORD +09130985LEAMY WATERFORD +00594104LEDDIN WATERFORD +03335382LITTLE WATERFORD +04277418LONG WATERFORD +07209815LOVETT WATERFORD +09918354LYONS WATERFORD +06158808LYONS WATERFORD +01552514MACCURTIN WATERFORD +06751426MACCURTIN WATERFORD +02525793MACDONAGH WATERFORD +02562448MACDONAGH WATERFORD +06033588MACDONAGH WATERFORD +00289763MACDONAGH WATERFORD +01826638MADDEN WATERFORD +00417970MALONE WATERFORD +04996413MANGAN WATERFORD +05577462MANGAN WATERFORD +06219012MANLEY WATERFORD +05932300MCBRIDE WATERFORD +07574107MCCORMACK WATERFORD +00441440MCDONAGH WATERFORD +00007742MCDONAGH WATERFORD +05904280MCDONNELL WATERFORD +02162303MCDONNELL WATERFORD +00143065MCELLIGOTT WATERFORD +04208288MCELLIGOTT WATERFORD +04069619MCGRATH WATERFORD +04452884MCGRATH WATERFORD +08422368MCGUIRE WATERFORD +05333660MCNAMARA WATERFORD +05050014MCNAMARA WATERFORD +04648835MCNAMARA WATERFORD +04632543MCNULTY WATERFORD +07327809MITCHELL WATERFORD +02732557MOLONEY WATERFORD +08086160MOYNIHAN WATERFORD +03039057MOYNIHAN WATERFORD +05382411NOONE WATERFORD +05708112O'BRIEN WATERFORD +07098221O'BRIEN WATERFORD +03173737O'BRIEN WATERFORD +07747648O'CONNOR WATERFORD +07584022O'DWYER WATERFORD +01997694O'GRADY WATERFORD +02704074O'GRADY WATERFORD +06716810O'HALLORAN WATERFORD +03693087O'MAIDIN WATERFORD +01130208O'MAIDIN WATERFORD +01213553O'NEILL WATERFORD +04479189O'ROURKE WATERFORD +08385526O'ROURKE WATERFORD +01227211O'ROURKE WATERFORD +08117100O'SHEA WATERFORD +06801735O'SULLIVAN WATERFORD +09722106PURCELL WATERFORD +04166270PURCELL WATERFORD +07686284PURCELL WATERFORD +07755260QUAID WATERFORD +05173322QUIN WATERFORD +00046554QUIN WATERFORD +02041311REIDY WATERFORD +08972333REIDY WATERFORD +01873643RELIHAN WATERFORD +05413780REYNOLDS WATERFORD +07075895REYNOLDS WATERFORD +05882565RUTLAND WATERFORD +05857109RUTLAND WATERFORD +07876603SAVAGE WATERFORD +04839364SAVAGE WATERFORD +04567434SCANLON WATERFORD +05875911SCANNELL WATERFORD +02103382SCANNELL WATERFORD +00667845SHEAHAN WATERFORD +07319429SHEAHAN WATERFORD +03455193SHINNERS WATERFORD +05014738SHINNERS-KENNEDY WATERFORD +09444048SLATER WATERFORD +04088537SLATER WATERFORD +09531756SOMERS WATERFORD +00599734SOMERS WATERFORD +01171720SOMERS WATERFORD +01495524SOMERS WATERFORD +06551271SPILLANE WATERFORD +03241817SPILLANE WATERFORD +07428235STANLEY-SMITH WATERFORD +04841681STANLEY-SMITH WATERFORD +02170879STANLEY-SMITH WATERFORD +04079359SUTCLIFFE WATERFORD +07326987THOMSON WATERFORD +06035131THOMSON WATERFORD +03030995VAUGHAN WATERFORD +01680852VAUGHAN WATERFORD +08599628WHEALAN WATERFORD +03910776WHEALAN WATERFORD +00382202WILLIAMS WATERFORD +07649282WILLIAMS WATERFORD +04474731WOODS WATERFORD +06391435YOUNG WATERFORD +09286849AGNEW WESTMEATH +09268835AGNEW WESTMEATH +00344967AGNEW WESTMEATH +00289993AGNEW WESTMEATH +04902837AGNEW WESTMEATH +07663479AHERN WESTMEATH +01115844AHERN WESTMEATH +01276791ALLEN WESTMEATH +06486185AMBROSE WESTMEATH +02695329AMBROSE WESTMEATH +04090884ASHTON WESTMEATH +01073348ATKINS WESTMEATH +09792428ATKINS WESTMEATH +06325354ATKINS WESTMEATH +08883154BAKER WESTMEATH +06524757BANNON WESTMEATH +05639777BANNON WESTMEATH +02604441BANNON WESTMEATH +08004147BARKER WESTMEATH +08282419BARON WESTMEATH +04786853BARON WESTMEATH +02471168BARR WESTMEATH +05553019BARR WESTMEATH +09541433BARRETT WESTMEATH +06489898BARRETT WESTMEATH +09253816BARRETT WESTMEATH +01390051BARRY WESTMEATH +05069364BARTON WESTMEATH +06469760BEGLEY WESTMEATH +00869762BEGLEY WESTMEATH +02204654BEGLEY WESTMEATH +09183105BIRD WESTMEATH +09927004BIRD WESTMEATH +04281963BIRD WESTMEATH +04933376BIRD WESTMEATH +05502992BLAKE WESTMEATH +02460095BLAKE WESTMEATH +06479023BOLAND WESTMEATH +03285860BOLGER WESTMEATH +09068374BOLGER WESTMEATH +00179198BOURKE WESTMEATH +08797529BOURKE WESTMEATH +09150101BOWLES WESTMEATH +08301849BOWLES WESTMEATH +05327754BRANNOCK WESTMEATH +01135537BRANNOCK WESTMEATH +04071082BRANNOCK WESTMEATH +01738339BRANNOCK WESTMEATH +04318336BREEN WESTMEATH +05697641BREEN WESTMEATH +07507181BRISLANE WESTMEATH +03349264BROWN WESTMEATH +03834018BROWN WESTMEATH +07882810BROWN WESTMEATH +04364407BROWNE WESTMEATH +08197795BUCKELY WESTMEATH +07642024BUCKELY WESTMEATH +03779547BURNS WESTMEATH +07909419CAHILL WESTMEATH +03268920CAREY WESTMEATH +02485107CAREY WESTMEATH +03291777CARRIGG WESTMEATH +04163423CARRIGG WESTMEATH +00349556CASEY WESTMEATH +08781486CASEY WESTMEATH +05481937CLEARY WESTMEATH +06187820CLIFFORD WESTMEATH +03274472CLINTON WESTMEATH +09648811COFFEY WESTMEATH +07975085COFFEY WESTMEATH +08324337COFFEY WESTMEATH +00936856COLLINS WESTMEATH +06434327CONROY WESTMEATH +09666144COOKE WESTMEATH +05837025COUGHLAN WESTMEATH +00900948COUGHLAN WESTMEATH +06327062COUGHLAN WESTMEATH +04790960DALY WESTMEATH +02755670DALY WESTMEATH +01690757DE PAOR WESTMEATH +09608348DELANEY WESTMEATH +09157499DOORLEY WESTMEATH +07048229DOORLEY WESTMEATH +05992101DOORLEY WESTMEATH +04166852DOWLING WESTMEATH +06194243DOWNES WESTMEATH +00368999DWAN WESTMEATH +08629635EATON WESTMEATH +05253444FENTON WESTMEATH +05957625FINE WESTMEATH +02414330FINN WESTMEATH +02190632FINN WESTMEATH +02897663FITZHENRY WESTMEATH +06297326FITZHENRY WESTMEATH +08866480FITZHENRY WESTMEATH +02191944FITZHENRY WESTMEATH +07151443FITZHENRY WESTMEATH +07818393FLAHERTY WESTMEATH +06336321FLANAGAN WESTMEATH +09749184FLANNERY WESTMEATH +08716447FLANNERY WESTMEATH +09073847FLANNERY WESTMEATH +09161094FLYNN WESTMEATH +08551525FLYNN WESTMEATH +08044443FLYNN WESTMEATH +07967727FOLEY WESTMEATH +03227224FORDE WESTMEATH +05478166GALWAY WESTMEATH +05092253GALWAY WESTMEATH +07532952GALWAY WESTMEATH +00122305GALWAY WESTMEATH +07238819GOGARTY WESTMEATH +07774408GOGARTY WESTMEATH +08020814GOGARTY WESTMEATH +00083732GOGARTY WESTMEATH +09138627HANNON WESTMEATH +02021580HANNON WESTMEATH +00277645HANNON WESTMEATH +09278783HAYES WESTMEATH +07744049HAYES WESTMEATH +01965111HEALY WESTMEATH +02461550HEHIR WESTMEATH +00680238HOGAN WESTMEATH +04806470HOGAN WESTMEATH +00447506HOGAN WESTMEATH +05118113HOGAN WESTMEATH +05983886JOHNSON WESTMEATH +08164649JONES WESTMEATH +08003116JONES WESTMEATH +01229656KEANE WESTMEATH +05567468KEEHAN WESTMEATH +06352179KELLY WESTMEATH +07784518KELLY WESTMEATH +07047646KENNEDY WESTMEATH +09099860KEYES WESTMEATH +09927445KEYES WESTMEATH +01921411LEAHY WESTMEATH +06279034LEAMY WESTMEATH +02792528LEAMY WESTMEATH +00471164LEDDIN WESTMEATH +05462105LEDDIN WESTMEATH +06980481LEDDIN WESTMEATH +09253206LONG WESTMEATH +07832763LOVETT WESTMEATH +07570103LYONS WESTMEATH +00803020MACCURTIN WESTMEATH +06942867MACDONAGH WESTMEATH +08848472MADDEN WESTMEATH +09322504MANGAN WESTMEATH +00561974MANLEY WESTMEATH +00635479MANLEY WESTMEATH +06007155MANLEY WESTMEATH +08702405MANLEY WESTMEATH +04626939MCBRIDE WESTMEATH +01886883MCBRIDE WESTMEATH +01326435MCDONNELL WESTMEATH +03102310MCELLIGOTT WESTMEATH +03356699MCGRATH WESTMEATH +06265794MITCHELL WESTMEATH +01737747MITCHELL WESTMEATH +01070953MOLLOY WESTMEATH +02215297MOLONEY WESTMEATH +02709767MOYNIHAN WESTMEATH +00403887MOYNIHAN WESTMEATH +09847929MOYNIHAN WESTMEATH +08120285O'BRIEN WESTMEATH +08910426O'CONNELL WESTMEATH +00200539O'CONNOR WESTMEATH +05195749O'CONNOR WESTMEATH +03084570O'DWYER WESTMEATH +01640480O'GORMAN WESTMEATH +00144550O'GORMAN WESTMEATH +09494344O'GRADY WESTMEATH +07131449O'GRADY WESTMEATH +02749892O'GRADY WESTMEATH +08926858O'HALLORAN WESTMEATH +03313258O'HARA WESTMEATH +07992310O'HARA WESTMEATH +00306467O'MAIDIN WESTMEATH +05752955O'MAIDIN WESTMEATH +07654162O'NEILL WESTMEATH +01040453O'NEILL WESTMEATH +08415475O'NEILL WESTMEATH +03835741O'REAGAN WESTMEATH +09290640O'SHEA WESTMEATH +03005637O'SHEA WESTMEATH +07857471O'SHEA WESTMEATH +00364324POWER WESTMEATH +05875182PURCELL WESTMEATH +06314731PURCELL WESTMEATH +03419877QUAID WESTMEATH +08830776QUAID WESTMEATH +02443653QUANE WESTMEATH +07054621QUILLE WESTMEATH +08693330QUILLE WESTMEATH +07685018QUIN WESTMEATH +03515649QUIN WESTMEATH +02102555REIDY WESTMEATH +00034340REIDY WESTMEATH +08435722REIDY WESTMEATH +08419691RELIHAN WESTMEATH +01007929REYNOLDS WESTMEATH +09253367RICHARDSON WESTMEATH +05004454RUTLAND WESTMEATH +01775037RUTLAND WESTMEATH +01753199RYAN WESTMEATH +07290246SAVAGE WESTMEATH +00135160SAVAGE WESTMEATH +00660561SAVAGE WESTMEATH +03402505SCANLON WESTMEATH +06286254SCANLON WESTMEATH +01668607SCANLON WESTMEATH +07545805SCANLON WESTMEATH +07638081SCANNELL WESTMEATH +04329994SCANNELL WESTMEATH +06130265SHEAHAN WESTMEATH +06632724SHEAHAN WESTMEATH +05246940SHEEHY WESTMEATH +02736733SHEEHY WESTMEATH +06903407SHINNERS WESTMEATH +01192085SHINNERS WESTMEATH +01286204SHINNERS-KENNEDY WESTMEATH +07926994SHINNERS-KENNEDY WESTMEATH +05358921SHINNERS-KENNEDY WESTMEATH +04940021SLATER WESTMEATH +00115069SLATTERY WESTMEATH +06470839SLATTERY WESTMEATH +08409314SPILLANE WESTMEATH +02463028STANLEY-SMITH WESTMEATH +04128012STANLEY-SMITH WESTMEATH +01987263STANLEY-SMITH WESTMEATH +00446009STANLEY-SMITH WESTMEATH +07553225SUTCLIFFE WESTMEATH +08805644SUTCLIFFE WESTMEATH +07880166THOMSON WESTMEATH +04523917THORNTON WESTMEATH +04221326THORNTON WESTMEATH +06239042TRIMBLE WESTMEATH +06362981VAUGHAN WESTMEATH +05463568VAUGHAN WESTMEATH +05017585WHEALAN WESTMEATH +09261556WHITE WESTMEATH +06498243WOODS WESTMEATH +05611894WOODS WESTMEATH +05630315YOUNG WESTMEATH +09624550AGNEW WEXFORD +09636590ANDREWS WEXFORD +02606283ANGLAND WEXFORD +01147667APPLEBY WEXFORD +06231676ASHE WEXFORD +06226585ASHE WEXFORD +07812827ASHTON WEXFORD +03263077ASHTON WEXFORD +07736139ASHTON WEXFORD +01929685BAILEY WEXFORD +06810308BANNON WEXFORD +09708601BANNON WEXFORD +05941501BARLOW WEXFORD +07402667BARR WEXFORD +01631356BARR WEXFORD +05287650BARRETT WEXFORD +08559383BARRETT WEXFORD +00878281BARRY WEXFORD +08109582BARRY WEXFORD +08900495BARRY WEXFORD +05547470BARRY WEXFORD +02893980BARTON WEXFORD +00914568BERMINGHAM WEXFORD +03553495BERRY WEXFORD +03989608BERRY WEXFORD +00947137BERRY WEXFORD +03422320BIRD WEXFORD +04542371BIRD WEXFORD +04034267BOLAND WEXFORD +00158148BOLGER WEXFORD +01454033BOLGER WEXFORD +08804657BOLGER WEXFORD +00191474BOLGER WEXFORD +02367420BOLGER WEXFORD +02823592BOLGER WEXFORD +01296841BOURKE WEXFORD +08740124BOURKE WEXFORD +03614751BOURKE WEXFORD +01609010BRANNOCK WEXFORD +02853938BRANNOCK WEXFORD +05097452BRANNOCK WEXFORD +00548028BRANNOCK WEXFORD +08174521BRANNOCK WEXFORD +02969030BREHONY WEXFORD +04648098BREHONY WEXFORD +02689056BRENNAN WEXFORD +08238329BRENNAN WEXFORD +04825600BRENNAN WEXFORD +02823013BRISLANE WEXFORD +09469720BRISLANE WEXFORD +04838663BROUDER WEXFORD +00591805BROUDER WEXFORD +00541929BROUDER WEXFORD +06290880BROWNE WEXFORD +00614905BURNS WEXFORD +03746398CAHILL WEXFORD +02548457CAHILL WEXFORD +07907467CAREY WEXFORD +00963526CARRIGG WEXFORD +09678637CARRIGG WEXFORD +08073282CARRIGG WEXFORD +05420312CASEY WEXFORD +03173091CASSIDY WEXFORD +09501598CHAWKE WEXFORD +01823779CLEARY WEXFORD +05703644CLEARY WEXFORD +03445533CLINTON WEXFORD +05472268CLUNE WEXFORD +08268900COAKLEY WEXFORD +07862325COAKLEY WEXFORD +03518303COAKLEY WEXFORD +01366792COAKLEY WEXFORD +05962554COHALAN WEXFORD +00239613COLEMAN WEXFORD +06729642COLLINS WEXFORD +01551474COLLINS WEXFORD +02481297COLLINS WEXFORD +09219946COLLINS WEXFORD +01470207COLLINS WEXFORD +08696721CONROY WEXFORD +09708113CONROY WEXFORD +02544252COOKE WEXFORD +08107207COOKE WEXFORD +04039658COOKE WEXFORD +05801620DALY WEXFORD +00263817DE PAOR WEXFORD +06299966DE PAOR WEXFORD +08110209DE PAOR WEXFORD +01271115DEE WEXFORD +08426973DELANEY WEXFORD +05116776DELANEY WEXFORD +03328949DELANEY WEXFORD +08155837DOHERTY WEXFORD +08474066DOOGAN WEXFORD +00895406DOOGAN WEXFORD +00539703DOWLING WEXFORD +01955211DOWLING WEXFORD +00028913DURKAN WEXFORD +00950123DURKAN WEXFORD +00529874DURKAN WEXFORD +06181671EATON WEXFORD +03926260FENTON WEXFORD +09256094FENTON WEXFORD +05531418FINE WEXFORD +02677516FINN WEXFORD +09759129FITZHENRY WEXFORD +02907135FITZMAURICE WEXFORD +08279499FITZMAURICE WEXFORD +05408248FITZMAURICE WEXFORD +04371691FLAHERTY WEXFORD +05698754FLANAGAN WEXFORD +08856433FLANAGAN WEXFORD +01362816FLANNERY WEXFORD +03047989FLANNERY WEXFORD +03906277FLYNN WEXFORD +04500672GALWAY WEXFORD +00387039GALWAY WEXFORD +00864286GOGARTY WEXFORD +07721532GOGARTY WEXFORD +04774313GOGARTY WEXFORD +03842014GOGARTY WEXFORD +01910289GRIMES WEXFORD +08329576HALVEY WEXFORD +01981957HANLY WEXFORD +05242225HAYES WEXFORD +04297604HEALY WEXFORD +09213733HOGAN WEXFORD +06863537HOGAN WEXFORD +00152624JONES WEXFORD +09611915JONES WEXFORD +06158087JONES WEXFORD +06878355KEANE WEXFORD +01152137KEANE WEXFORD +03296512KEANE WEXFORD +09857028KEEHAN WEXFORD +06424409KENNEDY WEXFORD +04158847KENNEDY WEXFORD +07706475KEYES WEXFORD +06547373LEAHY WEXFORD +07864317LEAHY WEXFORD +05687476LEAMY WEXFORD +01756987LEAMY WEXFORD +08962974LEAMY WEXFORD +07254174LEDDIN WEXFORD +07469738LISTON WEXFORD +07554831LISTON WEXFORD +06918909LITTLE WEXFORD +06985616LONG WEXFORD +05460692LOVETT WEXFORD +02880918LOVETT WEXFORD +03967585LOVETT WEXFORD +02440245LYONS WEXFORD +06306445LYONS WEXFORD +04146808MACCURTIN WEXFORD +01123686MACCURTIN WEXFORD +02228476MACDONAGH WEXFORD +07806050MADDEN WEXFORD +03965939MADDEN WEXFORD +07457114MANGAN WEXFORD +06813789MANLEY WEXFORD +08892762MCCORMACK WEXFORD +01018825MCCORMACK WEXFORD +06310990MCCORMICK WEXFORD +00117264MCCORMICK WEXFORD +05080920MCELLIGOTT WEXFORD +09173155MCELLIGOTT WEXFORD +02203040MCGRATH WEXFORD +04608102MCNAMARA WEXFORD +02317322MCNULTY WEXFORD +09195075MCNULTY WEXFORD +04475068MOLLOY WEXFORD +07132785MOLONEY WEXFORD +06871657MOYNIHAN WEXFORD +06679271MURPHY WEXFORD +08735159MURPHY WEXFORD +03332890MURRAY WEXFORD +06027174NOONE WEXFORD +01188343O'CONNELL WEXFORD +00968646O'DWYER WEXFORD +02995098O'GORMAN WEXFORD +04459533O'HARA WEXFORD +08444467O'HARA WEXFORD +00028780O'HARA WEXFORD +04022686O'HARA WEXFORD +05218713O'REAGAN WEXFORD +00598889O'REAGAN WEXFORD +05076561O'REAGAN WEXFORD +04627462O'ROURKE WEXFORD +02282425O'ROURKE WEXFORD +01583311O'SULLIVAN WEXFORD +07079524POWER WEXFORD +07525509POWER WEXFORD +00674198PURCELL WEXFORD +08540573PURCELL WEXFORD +01592255QUAID WEXFORD +05239304QUAID WEXFORD +03309961QUAID WEXFORD +05875883QUANE WEXFORD +05478783QUIN WEXFORD +06236508REIDY WEXFORD +01542826REIDY WEXFORD +05332180REIDY WEXFORD +03140946REIDY WEXFORD +00903280RELIHAN WEXFORD +06870861REYNOLDS WEXFORD +07001198REYNOLDS WEXFORD +03732793RICHARDSON WEXFORD +00914498RUTLAND WEXFORD +03980565RUTLAND WEXFORD +07178055RUTLAND WEXFORD +05457968RUTLAND WEXFORD +02676178RUTLAND WEXFORD +09427211RYAN WEXFORD +05796562SAVAGE WEXFORD +04022657SAVAGE WEXFORD +02173625SAVAGE WEXFORD +08144610SCANLON WEXFORD +02330459SCANLON WEXFORD +02353609SCANNELL WEXFORD +07823345SHEAHAN WEXFORD +01477449SHEAHAN WEXFORD +08391193SHEAHAN WEXFORD +07142446SHEEHY WEXFORD +09875515SHEEHY WEXFORD +05885539SHINNERS-KENNEDY WEXFORD +05814333SHINNERS-KENNEDY WEXFORD +04114667SLATER WEXFORD +05849725SLATER WEXFORD +08900331SLATER WEXFORD +00233186SLATTERY WEXFORD +05749941STANLEY-SMITH WEXFORD +04037022THORNTON WEXFORD +03748897THORNTON WEXFORD +03757130TRIMBLE WEXFORD +01781650VAUGHAN WEXFORD +03431187WHEALAN WEXFORD +08319633WHITE WEXFORD +00637180WILLIAMS WEXFORD +01473159WILLIAMS WEXFORD +00135492AGNEW WICKLOW +01868532ALLEN WICKLOW +08378046AMBROSE WICKLOW +05896644ANDREWS WICKLOW +00812422BAILEY WICKLOW +03349833BAKER WICKLOW +02102799BAKER WICKLOW +06816238BANNON WICKLOW +04610709BARKER WICKLOW +05786717BARKER WICKLOW +06432304BARLOW WICKLOW +05496034BARLOW WICKLOW +00202534BARON WICKLOW +00729218BARON WICKLOW +01949052BARRETT WICKLOW +07994276BARTON WICKLOW +08939933BEGLEY WICKLOW +05503715BEGLEY WICKLOW +04304939BERMINGHAM WICKLOW +08088975BERRY WICKLOW +09425780BLAKE WICKLOW +09572412BLAKE WICKLOW +04734566BOLAND WICKLOW +01391754BOLAND WICKLOW +09083984BOLAND WICKLOW +09094859BOLAND WICKLOW +09114208BOLAND WICKLOW +08051221BOURKE WICKLOW +09355519BOURKE WICKLOW +09749620BOWLES WICKLOW +09650564BREEN WICKLOW +04108582BREEN WICKLOW +05953306BREHONY WICKLOW +08205080BRISLANE WICKLOW +03502914BROWN WICKLOW +09036279BROWN WICKLOW +09169401BROWN WICKLOW +04533417BROWN WICKLOW +06743980BROWN WICKLOW +01005277BROWNE WICKLOW +09813906BUCKELY WICKLOW +08568260BURNS WICKLOW +05587411CAHILL WICKLOW +07892637CAREY WICKLOW +08158960CAREY WICKLOW +09353731CASEY WICKLOW +04857595CASEY WICKLOW +00554214CASEY WICKLOW +02877995CHAWKE WICKLOW +05488529CHAWKE WICKLOW +05269408CLEARY WICKLOW +04204460CLIFFORD WICKLOW +02664848CLUNE WICKLOW +07831484CLUNE WICKLOW +03705633CLUNE WICKLOW +03708326COHALAN WICKLOW +06129801COHALAN WICKLOW +08859105COLLINS WICKLOW +07942198COLLINS WICKLOW +09524361COLLINS WICKLOW +05134332COOKE WICKLOW +09866648DE PAOR WICKLOW +02308482DEE WICKLOW +08887260DELANEY WICKLOW +00788054DOHERTY WICKLOW +06169697DOHERTY WICKLOW +08326465DOOGAN WICKLOW +04722914DOOGAN WICKLOW +06186102DOOGAN WICKLOW +06717648DOORLEY WICKLOW +01650398DOORLEY WICKLOW +04503707DOWLING WICKLOW +09936231DOWLING WICKLOW +05045875DURKAN WICKLOW +07918123DURKAN WICKLOW +06884626DWAN WICKLOW +09193402EATON WICKLOW +00737033EATON WICKLOW +03011304FENTON WICKLOW +01990724FINE WICKLOW +05601772FINN WICKLOW +01953200FITZGERALD WICKLOW +03667905FITZGERALD WICKLOW +00003267FITZHENRY WICKLOW +05601707FITZHENRY WICKLOW +09088421FITZMAURICE WICKLOW +08104938FITZMAURICE WICKLOW +04066702FLANAGAN WICKLOW +05258282FLANNERY WICKLOW +01354301FLANNERY WICKLOW +05709689FLYNN WICKLOW +06751293FLYNN WICKLOW +06177021FORDE WICKLOW +02177071GALWAY WICKLOW +01843459GILL WICKLOW +04514269GILL WICKLOW +09988247GILL WICKLOW +03034788GREEN WICKLOW +00947777GRIMES WICKLOW +05924183HALVEY WICKLOW +02351108HANLY WICKLOW +08157496HANLY WICKLOW +07758005HANNON WICKLOW +09813130HANNON WICKLOW +01939753HAYES WICKLOW +09631523HEALY WICKLOW +01841609HEHIR WICKLOW +00422027JONES WICKLOW +02593279JONES WICKLOW +09598398KEEHAN WICKLOW +02471734KELLY WICKLOW +01443677KELLY WICKLOW +03467648KELLY WICKLOW +02722128KENNEDY WICKLOW +04476853KEYES WICKLOW +01470946KEYES WICKLOW +02208993LEAHY WICKLOW +07879586LEAHY WICKLOW +05892547LEAMY WICKLOW +07681249LEDDIN WICKLOW +09467462LISTON WICKLOW +06970763LITTLE WICKLOW +01131823LOVETT WICKLOW +04046026LYONS WICKLOW +00453689LYONS WICKLOW +01875129LYONS WICKLOW +09849860MACCURTIN WICKLOW +07681481MACCURTIN WICKLOW +06991721MACCURTIN WICKLOW +07445854MACCURTIN WICKLOW +08235992MACCURTIN WICKLOW +06588384MADDEN WICKLOW +08974275MANGAN WICKLOW +08240135MANGAN WICKLOW +07859303MANLEY WICKLOW +09577555MCBRIDE WICKLOW +04583635MCCORMACK WICKLOW +03697773MCCORMACK WICKLOW +08895383MCCORMICK WICKLOW +03716114MCCORMICK WICKLOW +06787728MCDONAGH WICKLOW +02110188MCELLIGOTT WICKLOW +00887843MCELLIGOTT WICKLOW +01523225MCELLIGOTT WICKLOW +02471405MCGRATH WICKLOW +01290714MCGUIRE WICKLOW +02219164MCNAMARA WICKLOW +01012863MCNAMARA WICKLOW +08512455MCNULTY WICKLOW +08266598MCNULTY WICKLOW +00511995MITCHELL WICKLOW +03843438MITCHELL WICKLOW +09772281MOLLOY WICKLOW +05774322MOLLOY WICKLOW +03664370MOLONEY WICKLOW +00931310MOLONEY WICKLOW +04017563MOYNIHAN WICKLOW +07452954MURRAY WICKLOW +08620052MURRAY WICKLOW +01557280O'BRIEN WICKLOW +07816123O'BRIEN WICKLOW +02232891O'BRIEN WICKLOW +02746291O'CONNELL WICKLOW +05039468O'CONNELL WICKLOW +00816580O'CONNOR WICKLOW +09145675O'CONNOR WICKLOW +01893451O'DWYER WICKLOW +06755439O'GORMAN WICKLOW +04353274O'GORMAN WICKLOW +00773925O'GORMAN WICKLOW +00537806O'GORMAN WICKLOW +02897842O'GORMAN WICKLOW +08539404O'GRADY WICKLOW +01968936O'GRADY WICKLOW +04697767O'GRADY WICKLOW +06419583O'HALLORAN WICKLOW +09293021O'HARA WICKLOW +03155157O'HARA WICKLOW +09432697O'MAIDIN WICKLOW +02720879O'NEILL WICKLOW +06417017O'NEILL WICKLOW +03606345O'REAGAN WICKLOW +01716200O'REAGAN WICKLOW +06786155O'REAGAN WICKLOW +02641977O'REAGAN WICKLOW +06613842O'ROURKE WICKLOW +04098170O'ROURKE WICKLOW +04914667O'ROURKE WICKLOW +01802088O'SHEA WICKLOW +09955176O'SULLIVAN WICKLOW +04782585O'SULLIVAN WICKLOW +08007583POWER WICKLOW +02830464POWER WICKLOW +04050196PURCELL WICKLOW +09563826QUAID WICKLOW +04037314QUAID WICKLOW +08643427QUAID WICKLOW +02930448QUILLE WICKLOW +07611937QUILLE WICKLOW +07299374QUILLE WICKLOW +07435004RELIHAN WICKLOW +06975365REYNOLDS WICKLOW +07820641REYNOLDS WICKLOW +08001206REYNOLDS WICKLOW +04565420RICHARDSON WICKLOW +00594554RUTLAND WICKLOW +02240668RUTLAND WICKLOW +06440711RUTLAND WICKLOW +04688184RUTLAND WICKLOW +02288226RUTLAND WICKLOW +08273355RUTLAND WICKLOW +07960449SAVAGE WICKLOW +09420368SCANLON WICKLOW +08559957SCANNELL WICKLOW +08187165SHEAHAN WICKLOW +04614852SHINNERS WICKLOW +01183790SHINNERS-KENNEDY WICKLOW +09479640SLATER WICKLOW +07883136SLATER WICKLOW +05209255SLATTERY WICKLOW +03905617SPILLANE WICKLOW +04145480STANLEY-SMITH WICKLOW +03984345SUTCLIFFE WICKLOW +03269286VAUGHAN WICKLOW +08184267VAUGHAN WICKLOW +02266336VAUGHAN WICKLOW +05412546WHEALAN WICKLOW +00059855WHITE WICKLOW +02918251WILLIAMS WICKLOW +01799244WILLIAMS WICKLOW +01497460WOODS WICKLOW +01046931WOODS WICKLOW +06027677WOODS WICKLOW +00981343WOODS WICKLOW \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3.cbl b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3.cbl new file mode 100644 index 0000000..b325ee8 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3.cbl @@ -0,0 +1,128 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing10-3. +AUTHOR. Michael Coughlan +* Applies the transactions ordered on ascending GadgetId-TF to the +* MasterStockFile ordered on ascending GadgetId-MF. +* Assumption: Insert not followed by updates to inserted record +* Multiple updates per master record permitted + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT MasterStockFile ASSIGN TO "Listing10-3Master.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT NewStockFile ASSIGN TO "Listing10-3NewMast.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + + SELECT TransactionFile ASSIGN TO "Listing10-3Trans.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD MasterStockFile. +01 MasterStockRec. + 88 EndOfMasterFile VALUE HIGH-VALUES. + 02 GadgetId-MF PIC 9(6). + 02 GadgetName-MF PIC X(30). + 02 QtyInStock-MF PIC 9(4). + 02 Price-MF PIC 9(4)V99. + +FD NewStockFile. +01 NewStockRec. + 02 GadgetId-NSF PIC 9(6). + 02 GadgetName-NSF PIC X(30). + 02 QtyInStock-NSF PIC 9(4). + 02 Price-NSF PIC 9(4)V99. + +FD TransactionFile. +01 InsertionRec. + 88 EndOfTransFile VALUE HIGH-VALUES. + 02 TypeCode-TF PIC 9. + 88 Insertion VALUE 1. + 88 Deletion VALUE 2. + 88 UpdatePrice VALUE 3. + 02 GadgetId-TF PIC 9(6). + 02 GadgetName-IR PIC X(30). + 02 QtyInStock-IR PIC 9(4). + 02 Price-IR PIC 9(4)V99. + +01 DeletionRec. + 02 FILLER PIC 9(7). + +01 PriceChangeRec. + 02 FILLER PIC 9(7). + 02 Price-PCR PIC 9(4)V99. + + +WORKING-STORAGE SECTION. +01 ErrorMessage. + 02 PrnGadgetId PIC 9(6). + 02 FILLER PIC XXX VALUE " - ". + 02 FILLER PIC X(45). + 88 InsertError VALUE "Insert Error - Record already exists". + 88 DeleteError VALUE "Delete Error - No such record in Master". + 88 PriceUpdateError VALUE "Price Update Error - No such record in Master". + +PROCEDURE DIVISION. +Begin. + OPEN INPUT MasterStockFile + OPEN INPUT TransactionFile + OPEN OUTPUT NewStockFile + PERFORM ReadMasterFile + PERFORM ReadTransFile + PERFORM UNTIL EndOfMasterFile AND EndOfTransFile + EVALUATE TRUE + WHEN GadgetId-TF > GadgetId-MF PERFORM CopyToNewMaster + WHEN GadgetId-TF = GadgetId-MF PERFORM TryToApplyToMaster + WHEN GadgetId-TF < GadgetId-MF PERFORM TryToInsert + END-EVALUATE + END-PERFORM + + CLOSE MasterStockFile, TransactionFile, NewStockFile + STOP RUN. + +CopyToNewMaster. + WRITE NewStockRec FROM MasterStockRec + PERFORM ReadMasterFile. + +TryToApplyToMaster. + EVALUATE TRUE + WHEN UpdatePrice MOVE Price-PCR TO Price-MF + WHEN Deletion PERFORM ReadMasterFile + WHEN Insertion SET InsertError TO TRUE + DISPLAY ErrorMessage + END-EVALUATE + PERFORM ReadTransFile. + +TryToInsert. + IF Insertion MOVE GadgetId-TF TO GadgetId-NSF + MOVE GadgetName-IR TO GadgetName-NSF + MOVE QtyInStock-IR TO QtyInStock-NSF + MOVE Price-Ir TO Price-NSF + WRITE NewStockRec + ELSE + IF UpdatePrice + SET PriceUpdateError TO TRUE + END-IF + IF Deletion + SET DeleteError TO TRUE + END-IF + DISPLAY ErrorMessage + END-IF + PERFORM ReadTransFile. + +ReadTransFile. + READ TransactionFile + AT END SET EndOfTransFile TO TRUE + END-READ + MOVE GadgetId-TF TO PrnGadgetId. + +ReadMasterFile. + READ MasterStockFile + AT END SET EndOfMasterFile TO TRUE + END-READ. + + + diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Master.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Master.dat new file mode 100644 index 0000000..2fd9c1a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Master.dat @@ -0,0 +1,9 @@ +113434Mini Retro Popcorn Maker 1111004149 +123456SoundDisk MP3 Player 4GB 0650003095 +234567BioLite Camp Stove 0057029550 +266999The Original Bacon Kit 1111002379 +345678Collapsible Kettle - Green 0155002590 +456789Digital Measuring Jug 0325000895 +567890MicroLite LED Torch 0512000745 +678901Pocket Sized Fishing Rod 0055001799 +789111Ice Cream Ball 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Trans.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Trans.dat new file mode 100644 index 0000000..52e448f --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-3Trans.dat @@ -0,0 +1,11 @@ +1113111Valid Insert @ start of file 1111004149 +3234567033333 Valid Price Update +1266111Valid Insert @ middle of file 1111002379 +2334222 Invalid Delete +1345678 Invalid Insert 0155002590 +3345678003333 Valid Update +2567890 Valid Delete MicroLiteLEDTorch +3578901001799 Invalid Update +3789111003333 First update to 789111 +3789111009393 Second update to 789111 +1888111Valid Insert @ end of file 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4.cbl b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4.cbl new file mode 100644 index 0000000..d39b06e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4.cbl @@ -0,0 +1,163 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing10-4. +AUTHOR. Michael Coughlan +* File Update program based on the algorithm described by Barry Dwyer in +* "One more time - How to update a Master File" +* Applies the transactions ordered on ascending GadgetId-TF to the +* MasterStockFile ordered on ascending GadgetId-MF. +* Within each key value records are ordered on the sequence in which +* events occurred in the outside world. +* All valid, real world, transaction sequences are accommodated + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT MasterStockFile ASSIGN TO "Listing10-4Master.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT NewStockFile ASSIGN TO "Listing10-4NewMast.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + + SELECT TransactionFile ASSIGN TO "Listing10-4Trans.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD MasterStockFile. +01 MasterStockRec. + 88 EndOfMasterFile VALUE HIGH-VALUES. + 02 GadgetID-MF PIC 9(6). + 02 GadgetName-MF PIC X(30). + 02 QtyInStock-MF PIC 9(4). + 02 Price-MF PIC 9(4)V99. + +FD NewStockFile. +01 NewStockRec. + 02 GadgetID-NSF PIC 9(6). + 02 GadgetName-NSF PIC X(30). + 02 QtyInStock-NSF PIC 9(4). + 02 Price-NSF PIC 9(4)V99. + +FD TransactionFile. +01 InsertionRec. + 88 EndOfTransFile VALUE HIGH-VALUES. + 02 TypeCode-TF PIC 9. + 88 Insertion VALUE 1. + 88 Deletion VALUE 2. + 88 UpdatePrice VALUE 3. + 02 RecordBody-IR. + 03 GadgetID-TF PIC 9(6). + 03 GadgetName-IR PIC X(30). + 03 QtyInStock-IR PIC 9(4). + 03 Price-IR PIC 9(4)V99. + +01 DeletionRec. + 02 FILLER PIC 9(7). + +01 PriceChangeRec. + 02 FILLER PIC 9(7). + 02 Price-PCR PIC 9(4)V99. + + +WORKING-STORAGE SECTION. +01 ErrorMessage. + 02 PrnGadgetId PIC 9(6). + 02 FILLER PIC XXX VALUE " - ". + 02 FILLER PIC X(45). + 88 InsertError VALUE "Insert Error - Record already exists". + 88 DeleteError VALUE "Delete Error - No such record in Master". + 88 PriceUpdateError VALUE "Price Update Error - No such record in Master". + + +01 FILLER PIC X VALUE "n". + 88 RecordInMaster VALUE "y". + 88 RecordNotInMaster VALUE "n". + +01 CurrentKey PIC 9(6). + +PROCEDURE DIVISION. +Begin. + OPEN INPUT MasterStockFile + OPEN INPUT TransactionFile + OPEN OUTPUT NewStockFile + PERFORM ReadMasterFile + PERFORM ReadTransFile + PERFORM ChooseNextKey + PERFORM UNTIL EndOfMasterFile AND EndOfTransFile + PERFORM SetInitialStatus + PERFORM ProcessOneTransaction + UNTIL GadgetID-TF NOT = CurrentKey +* CheckFinalStatus + IF RecordInMaster + WRITE NewStockRec + END-IF + PERFORM ChooseNextKey + END-PERFORM + + CLOSE MasterStockFile, TransactionFile, NewStockFile + STOP RUN. + +ChooseNextKey. + IF GadgetID-TF < GadgetID-MF + MOVE GadgetID-TF TO CurrentKey + ELSE + MOVE GadgetID-MF TO CurrentKey + END-IF. + +SetInitialStatus. + IF GadgetID-MF = CurrentKey + MOVE MasterStockRec TO NewStockRec + SET RecordInMaster TO TRUE + PERFORM ReadMasterFile + ELSE SET RecordNotInMaster TO TRUE + END-IF. + +ProcessOneTransaction. +* ApplyTransToMaster + EVALUATE TRUE + WHEN Insertion PERFORM ApplyInsertion + WHEN UpdatePrice PERFORM ApplyPriceChange + WHEN Deletion PERFORM ApplyDeletion + END-EVALUATE. + PERFORM ReadTransFile. + +ApplyInsertion. + IF RecordInMaster + SET InsertError TO TRUE + DISPLAY ErrorMessage + ELSE + SET RecordInMaster TO TRUE + MOVE RecordBody-IR TO NewStockRec + END-IF. + +ApplyDeletion. + IF RecordNotInMaster + SET DeleteError TO TRUE + DISPLAY ErrorMessage + ELSE SET RecordNotInMaster TO TRUE + END-IF. + +ApplyPriceChange. + IF RecordNotInMaster + SET PriceUpdateError TO TRUE + DISPLAY ErrorMessage + ELSE + MOVE Price-PCR TO Price-NSF + END-IF. + +ReadTransFile. + READ TransactionFile + AT END SET EndOfTransFile TO TRUE + END-READ + MOVE GadgetID-TF TO PrnGadgetId. + +ReadMasterFile. + READ MasterStockFile + AT END SET EndOfMasterFile TO TRUE + END-READ. + + + + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Master.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Master.dat new file mode 100644 index 0000000..2fd9c1a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Master.dat @@ -0,0 +1,9 @@ +113434Mini Retro Popcorn Maker 1111004149 +123456SoundDisk MP3 Player 4GB 0650003095 +234567BioLite Camp Stove 0057029550 +266999The Original Bacon Kit 1111002379 +345678Collapsible Kettle - Green 0155002590 +456789Digital Measuring Jug 0325000895 +567890MicroLite LED Torch 0512000745 +678901Pocket Sized Fishing Rod 0055001799 +789111Ice Cream Ball 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Trans.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Trans.dat new file mode 100644 index 0000000..7de3fb5 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-4Trans.dat @@ -0,0 +1,14 @@ +1113111Valid Insert @ start of file 1111004149 +3234567033333 Valid Price Update +1266111Valid Insert @ middle of file 1111002379 +2334222 Invalid Delete +1333333Valid Insert & updates 1111003333 +3333333006666 First update to 333333 +3333333009999 Second update to 333333 +1345678 Invalid Insert 0155002590 +3345678003333 Valid Update +2567890 Valid Delete MicroLiteLEDTorch +3578901001799 Invalid Update +3789111003333 First update to 789111 +3789111009393 Second update to 789111 +1888111Valid Insert @ end of file 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5.cbl b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5.cbl new file mode 100644 index 0000000..a62a59a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5.cbl @@ -0,0 +1,201 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing10-5. +AUTHOR. Michael Coughlan +* File Update program based on the algorithm described by Barry Dwyer in +* "One more time - How to update a Master File" +* Applies the transactions ordered on ascending GadgetId-TF to the +* MasterStockFile ordered on ascending GadgetId-MF. +* Within each key value records are ordered on the sequence in which +* events occurred in the outside world. +* All valid, real world, transaction sequences are accommodated +* This version includes additions and subtractions from QtyInStock + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT MasterStockFile ASSIGN TO "Listing10-5Master.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT NewStockFile ASSIGN TO "Listing10-5NewMast.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + + SELECT TransactionFile ASSIGN TO "Listing10-5Trans.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD MasterStockFile. +01 MasterStockRec. + 88 EndOfMasterFile VALUE HIGH-VALUES. + 02 GadgetID-MF PIC 9(6). + 02 GadgetName-MF PIC X(30). + 02 QtyInStock-MF PIC 9(4). + 02 Price-MF PIC 9(4)V99. + +FD NewStockFile. +01 NewStockRec. + 02 GadgetID-NSF PIC 9(6). + 02 GadgetName-NSF PIC X(30). + 02 QtyInStock-NSF PIC 9(4). + 02 Price-NSF PIC 9(4)V99. + +FD TransactionFile. +01 InsertionRec. + 88 EndOfTransFile VALUE HIGH-VALUES. + 02 TypeCode-TF PIC 9. + 88 Insertion VALUE 1. + 88 Deletion VALUE 2. + 88 UpdatePrice VALUE 3. + 88 StockAddition VALUE 4. + 88 StockSubtraction VALUE 5. + 02 RecordBody-IR. + 03 GadgetID-TF PIC 9(6). + 03 GadgetName-IR PIC X(30). + 03 QtyInStock-IR PIC 9(4). + 03 Price-IR PIC 9(4)V99. + +01 DeletionRec. + 02 FILLER PIC 9(7). + +01 PriceChangeRec. + 02 FILLER PIC 9(7). + 02 Price-PCR PIC 9(4)V99. + +01 AddToStock. + 02 FILLER PIC 9(7). + 02 QtyToAdd PIC 9(4). + +01 SubtractFromStock. + 02 FILLER PIC 9(7). + 02 QtyToSubtract PIC 9(4). + + +WORKING-STORAGE SECTION. +01 ErrorMessage. + 02 PrnGadgetId PIC 9(6). + 02 FILLER PIC XXX VALUE " - ". + 02 FILLER PIC X(46). + 88 InsertError VALUE "Insert Error - Record already exists". + 88 DeleteError VALUE "Delete Error - No such record in Master". + 88 PriceUpdateError VALUE "Price Update Error - No such record in Master". + 88 QtyAddError VALUE "Stock Add Error - No such record in Master". + 88 QtySubtractError VALUE "Stock Subract Error - No such record in Master". + 88 InsufficientStock VALUE "Stock Subract Error - Not enough stock". + + +01 FILLER PIC X VALUE "n". + 88 RecordInMaster VALUE "y". + 88 RecordNotInMaster VALUE "n". + +01 CurrentKey PIC 9(6). + +PROCEDURE DIVISION. +Begin. + OPEN INPUT MasterStockFile + OPEN INPUT TransactionFile + OPEN OUTPUT NewStockFile + PERFORM ReadMasterFile + PERFORM ReadTransFile + PERFORM ChooseNextKey + PERFORM UNTIL EndOfMasterFile AND EndOfTransFile + PERFORM SetInitialStatus + PERFORM ProcessOneTransaction + UNTIL GadgetID-TF NOT = CurrentKey +* CheckFinalStatus + IF RecordInMaster + WRITE NewStockRec + END-IF + PERFORM ChooseNextKey + END-PERFORM + + CLOSE MasterStockFile, TransactionFile, NewStockFile + STOP RUN. + +ChooseNextKey. + IF GadgetID-TF < GadgetID-MF + MOVE GadgetID-TF TO CurrentKey + ELSE + MOVE GadgetID-MF TO CurrentKey + END-IF. + +SetInitialStatus. + IF GadgetID-MF = CurrentKey + MOVE MasterStockRec TO NewStockRec + SET RecordInMaster TO TRUE + PERFORM ReadMasterFile + ELSE SET RecordNotInMaster TO TRUE + END-IF. + +ProcessOneTransaction. +* ApplyTransToMaster + EVALUATE TRUE + WHEN Insertion PERFORM ApplyInsertion + WHEN UpdatePrice PERFORM ApplyPriceChange + WHEN Deletion PERFORM ApplyDeletion + WHEN StockAddition PERFORM ApplyAddToStock + WHEN StockSubtraction PERFORM ApplySubtractFromStock + END-EVALUATE. + PERFORM ReadTransFile. + +ApplyInsertion. + IF RecordInMaster + SET InsertError TO TRUE + DISPLAY ErrorMessage + ELSE + SET RecordInMaster TO TRUE + MOVE RecordBody-IR TO NewStockRec + END-IF. + +ApplyDeletion. + IF RecordNotInMaster + SET DeleteError TO TRUE + DISPLAY ErrorMessage + ELSE SET RecordNotInMaster TO TRUE + END-IF. + +ApplyPriceChange. + IF RecordNotInMaster + SET PriceUpdateError TO TRUE + DISPLAY ErrorMessage + ELSE + MOVE Price-PCR TO Price-NSF + END-IF. + +ApplyAddToStock. + IF RecordNotInMaster + SET QtyAddError TO TRUE + DISPLAY ErrorMessage + ELSE + ADD QtyToAdd TO QtyInStock-NSF + END-IF. + +ApplySubtractFromStock. + IF RecordNotInMaster + SET QtySubtractError TO TRUE + DISPLAY ErrorMessage + ELSE + IF QtyInStock-NSF < QtyToSubtract + SET InsufficientStock TO TRUE + DISPLAY ErrorMessage + ELSE + SUBTRACT QtyToSubtract FROM QtyInStock-NSF + END-IF + END-IF. + + +ReadTransFile. + READ TransactionFile + AT END SET EndOfTransFile TO TRUE + END-READ + MOVE GadgetID-TF TO PrnGadgetId. + +ReadMasterFile. + READ MasterStockFile + AT END SET EndOfMasterFile TO TRUE + END-READ. + + + + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Master.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Master.dat new file mode 100644 index 0000000..2fd9c1a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Master.dat @@ -0,0 +1,9 @@ +113434Mini Retro Popcorn Maker 1111004149 +123456SoundDisk MP3 Player 4GB 0650003095 +234567BioLite Camp Stove 0057029550 +266999The Original Bacon Kit 1111002379 +345678Collapsible Kettle - Green 0155002590 +456789Digital Measuring Jug 0325000895 +567890MicroLite LED Torch 0512000745 +678901Pocket Sized Fishing Rod 0055001799 +789111Ice Cream Ball 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Trans.dat b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Trans.dat new file mode 100644 index 0000000..4f93b5f --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch10/Listing10-5Trans.dat @@ -0,0 +1,18 @@ +1113111Valid Insert @ start of file 1111004149 +3234567033333 Valid Price Update +1266111Valid Insert @ middle of file 1111002379 +52669991111 Valid Subtract from stock +52669990003 Invalid subtract - not enough +42669994444 Valid Add to stock +52669990404 Valid Subtract from stock +2334222 Invalid Delete +1333333Valid Insert & updates 1111003333 +3333333006666 First update to 333333 +3333333009999 Second update to 333333 +1345678 Invalid Insert 0155002590 +3345678003333 Valid Update +2567890 Valid Delete MicroLiteLEDTorch +3578901001799 Invalid Update +3789111003333 First update to 789111 +3789111009393 Second update to 789111 +1888111Valid Insert @ end of file 1111002969 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1.cbl b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1.cbl new file mode 100644 index 0000000..b4cf592 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1.cbl @@ -0,0 +1,52 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing11-1. +AUTHOR. Michael Coughlan +* Program to sum the CandySales for each branch of YoreCandyShoppe +* and display the results in StateNum order +* Using as input the Sequential BranchSalesFile ordered on ascending BranchId + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BranchSalesFile ASSIGN TO "Listing11-1BranchSales.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BranchSalesFile. +01 BranchSalesRec. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 BranchId PIC 9(7). + 02 StateNum PIC 99. + 02 CandySales PIC 9(7)V99. + +WORKING-STORAGE SECTION. +01 StateSalesTable. + 02 StateSalesTotal PIC 9(8)V99 OCCURS 50 TIMES. + +01 StateIdx PIC 99. +01 PrnStateSales PIC $$$,$$$,$$9.99. + +PROCEDURE DIVISION. +Begin. + MOVE ZEROS TO StateSalesTable + OPEN INPUT BranchSalesFile + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + PERFORM UNTIL EndOfSalesFile + ADD CandySales TO StateSalesTotal(StateNum) + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + END-PERFORM + DISPLAY " YoreCandyShoppe Sales by State" + DISPLAY " ------------------------------" + PERFORM VARYING StateIdx FROM 1 BY 1 + UNTIL StateIdx GREATER THAN 50 + MOVE StateSalesTotal(StateIdx) TO PrnStateSales + DISPLAY "State ", StateIdx + " sales total is " PrnStateSales + END-PERFORM + CLOSE BranchSalesFile + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1BranchSales.dat b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1BranchSales.dat new file mode 100644 index 0000000..f9288c0 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-1BranchSales.dat @@ -0,0 +1,105 @@ +123456742016224389 +123457023049204411 +123457314149213085 +123457650032938871 +123457922222222222 +123458248118005404 +123458524156761370 +123458827074103465 +123459018051187942 +123459412170102881 +123459730452463658 +123460046135271965 +123460344044444444 +123460602852998690 +123460916646011964 +123461220066147979 +123461537147025654 +123461822222222222 +123462211111111111 +123462430134767923 +123462719185053378 +123463008294667331 +123463340819835841 +123463627090374090 +123463913042574061 +123464213142906123 +123464537075280393 +123464838029128815 +123465139045673083 +123465418006735089 +123465712078149919 +123466017124437868 +123466341045144252 +123466641076444855 +123466932101649282 +123467215031797424 +123467534177083868 +123467835147623383 +123468113185073243 +123468415101741814 +123468713171217735 +123469030018386356 +123469330098625369 +123469613105015888 +123469931151861423 +123470250144492708 +123470530558641177 +123470840878254636 +123471125076729299 +123471405775934101 +123471746140564173 +123472017094577400 +123472339204077739 +123472646060064197 +123472935067161417 +123473210153580653 +123473503109827560 +123473844044444444 +123474128168453443 +123474406172570005 +123474728141831546 +123475023074297442 +123475336081860358 +123475609145130147 +123475913085179013 +123476203173590577 +123476520015879392 +123476804150657038 +123477134173510123 +123477406176871719 +123477709182418905 +123478007014822602 +123478332081684631 +123478646047191240 +123478949039790921 +123479226158772164 +123479848152043134 +123480134148895370 +123480442005358271 +123480743111283501 +123481029161551994 +123481324110751031 +123481603176631481 +123481903154618341 +123482237114552627 +123482517070545615 +123482835080631597 +123483133333333333 +123483406007310721 +123483741091762420 +123484001032254367 +123484336050034127 +123484633333333333 +123484934008825508 +123485243134812928 +123485535020493168 +123485826136940510 +123486121172409276 +123486431135732587 +223484944044444444 +223485245454545454 +223485547474747474 +223485826136940510 +223486133333333333 +223486544044444444 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2.cbl b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2.cbl new file mode 100644 index 0000000..a6556c2 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2.cbl @@ -0,0 +1,90 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing11-2. +AUTHOR. Michael Coughlan +* Program that for each state and for the whole US +* sums the CandySales for each branch of YoreCandyShoppe +* counts the number of branches +* calculates the average sales per state and displays the results in StateNum order +* Uses as input the Sequential BranchSalesFile ordered on ascending BranchId + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BranchSalesFile ASSIGN TO "Listing11-2BranchSales.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BranchSalesFile. +01 BranchSalesRec. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 BranchId PIC 9(7). + 02 StateNum PIC 99. + 02 CandySales PIC 9(7)V99. + +WORKING-STORAGE SECTION. +01 StateSalesTable. + 02 StateTotals OCCURS 50 TIMES. + 03 StateSalesTotal PIC 9(8)V99. + 03 StateBranchCount PIC 9(5). + +01 StateIdx PIC 99. + +01 ReportHeading1 PIC X(35) + VALUE " YoreCandyShoppe Sales by State". +01 ReportHeading2 PIC X(35) + VALUE " ------------------------------". +01 ReportHeading3 PIC X(47) + VALUE "State Branches StateSales AverageSales". + +01 DetailLine. + 02 PrnStateNum PIC BZ9. + 02 PrnBranchCount PIC B(3)ZZ,ZZ9. + 02 PrnStateSales PIC B(5)$$$,$$$,$$9.99. + 02 PrnAveageSales PIC BB$$$,$$$,$$9.99. + +01 US-Totals. + 02 US-TotalSales PIC 9(9)V99. + 02 US-BranchCount PIC 9(6). + 02 PrnUS-TotalSales PIC $,$$$,$$$,$$9.99. + 02 PrnUS-BranchCount PIC B(9)ZZZ,ZZ9. + 02 PrnUS-AverageSales PIC BBBB$$$,$$$,$$9.99. + + +PROCEDURE DIVISION. +Begin. + MOVE ZEROS TO StateSalesTable + OPEN INPUT BranchSalesFile + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + PERFORM UNTIL EndOfSalesFile + ADD CandySales TO StateSalesTotal(StateNum), US-TotalSales + ADD 1 TO StateBranchCount(StateNum), US-BranchCount + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + END-PERFORM + PERFORM PrintResults + + CLOSE BranchSalesFile + STOP RUN. + +PrintResults. + DISPLAY ReportHeading1 + DISPLAY ReportHeading2 + DISPLAY ReportHeading3 + PERFORM VARYING StateIdx FROM 1 BY 1 + UNTIL StateIdx GREATER THAN 50 + MOVE StateIdx TO PrnStateNum + MOVE StateSalesTotal(StateIdx) TO PrnStateSales + MOVE StateBranchCount(StateIdx) TO PrnBranchCount + COMPUTE PrnAveageSales = StateSalesTotal(StateIdx) / StateBranchCount(StateIdx) + DISPLAY DetailLine + END-PERFORM + MOVE US-TotalSales TO PrnUS-TotalSales + MOVE US-BranchCount TO PrnUS-BranchCount + COMPUTE PrnUS-AverageSales = US-TotalSales / US-BranchCount + DISPLAY "YoreCandyShop branches in the US = " PrnUS-BranchCount + DISPLAY "YoreCandyShop sales in the US = " PrnUS-TotalSales + DISPLAY "YoreCandyShop average US sales = " PrnAveageSales. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2BranchSales.dat b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2BranchSales.dat new file mode 100644 index 0000000..f9288c0 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-2BranchSales.dat @@ -0,0 +1,105 @@ +123456742016224389 +123457023049204411 +123457314149213085 +123457650032938871 +123457922222222222 +123458248118005404 +123458524156761370 +123458827074103465 +123459018051187942 +123459412170102881 +123459730452463658 +123460046135271965 +123460344044444444 +123460602852998690 +123460916646011964 +123461220066147979 +123461537147025654 +123461822222222222 +123462211111111111 +123462430134767923 +123462719185053378 +123463008294667331 +123463340819835841 +123463627090374090 +123463913042574061 +123464213142906123 +123464537075280393 +123464838029128815 +123465139045673083 +123465418006735089 +123465712078149919 +123466017124437868 +123466341045144252 +123466641076444855 +123466932101649282 +123467215031797424 +123467534177083868 +123467835147623383 +123468113185073243 +123468415101741814 +123468713171217735 +123469030018386356 +123469330098625369 +123469613105015888 +123469931151861423 +123470250144492708 +123470530558641177 +123470840878254636 +123471125076729299 +123471405775934101 +123471746140564173 +123472017094577400 +123472339204077739 +123472646060064197 +123472935067161417 +123473210153580653 +123473503109827560 +123473844044444444 +123474128168453443 +123474406172570005 +123474728141831546 +123475023074297442 +123475336081860358 +123475609145130147 +123475913085179013 +123476203173590577 +123476520015879392 +123476804150657038 +123477134173510123 +123477406176871719 +123477709182418905 +123478007014822602 +123478332081684631 +123478646047191240 +123478949039790921 +123479226158772164 +123479848152043134 +123480134148895370 +123480442005358271 +123480743111283501 +123481029161551994 +123481324110751031 +123481603176631481 +123481903154618341 +123482237114552627 +123482517070545615 +123482835080631597 +123483133333333333 +123483406007310721 +123483741091762420 +123484001032254367 +123484336050034127 +123484633333333333 +123484934008825508 +123485243134812928 +123485535020493168 +123485826136940510 +123486121172409276 +123486431135732587 +223484944044444444 +223485245454545454 +223485547474747474 +223485826136940510 +223486133333333333 +223486544044444444 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3.cbl b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3.cbl new file mode 100644 index 0000000..a58731b --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3.cbl @@ -0,0 +1,111 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing11-3. +AUTHOR. Michael Coughlan +* Program that for each state and for the whole US +* sums the Monthly Sales for each branch of YoreCandyShoppe, counts the number of +* branches and displays the State Sales per month in StateNum order +* Calculates the US sales, the number of branches in the US and the average US sales +* Uses as input the Sequential BranchSalesFile ordered on ascending BranchId + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BranchSalesFile ASSIGN TO "Listing11-3BranchSales.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BranchSalesFile. +01 BranchSalesRec. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 BranchId PIC 9(7). + 02 StateNum PIC 99. + 02 SalesForMonth PIC 9(5)V99 OCCURS 12 TIMES. + +WORKING-STORAGE SECTION. +01 StateSalesTable. + 02 State OCCURS 50 TIMES. + 03 StateBranchCount PIC 9(5). + 03 StateMonthSales PIC 9(5)V99 OCCURS 12 TIMES. + +01 ReportHeading. + 02 FILLER PIC X(20) VALUE SPACES. + 02 FILLER PIC X(38) VALUE "YoreCandyShoppe Monthly Sales by State". + +01 ReportUnderline. + 02 FILLER PIC X(20) VALUE SPACES. + 02 FILLER PIC X(38) VALUE ALL "-". + +01 ReportSubjectHeadings1. + 02 FILLER PIC X(12) VALUE "State NOBs". + 02 FILLER PIC X(63) VALUE " Jan Feb Mar Apr May Jun". + +01 ReportSubjectHeadings2. + 02 FILLER PIC X(12) VALUE SPACES. + 02 FILLER PIC X(63) VALUE " Jul Aug Sep Oct Nov Dec". + +01 DetailLine1. + 02 PrnStateNum PIC BZ9. + 02 PrnBranchCount PIC BBZZ,ZZ9. + 02 PrnMonthSales1 PIC B$$$,$$9.99 OCCURS 6 TIMES. + +01 DetailLine2. + 02 FILLER PIC X(11) VALUE SPACES. + 02 PrnMonthSales2 PIC B$$$,$$9.99 OCCURS 6 TIMES. + +01 US-Totals. + 02 US-TotalSales PIC 9(9)V99. + 02 US-BranchCount PIC 9(6). + 02 PrnUS-TotalSales PIC $,$$$,$$$,$$9.99. + 02 PrnUS-BranchCount PIC B(9)ZZZ,ZZ9. + 02 PrnUS-AverageSales PIC BB$$$,$$$,$$9.99. + +01 StateIdx PIC 99. +01 MonthIdx PIC 99. + +PROCEDURE DIVISION. +Begin. + MOVE ZEROS TO StateSalesTable + OPEN INPUT BranchSalesFile + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + PERFORM UNTIL EndOfSalesFile + ADD 1 TO StateBranchCount(StateNum), US-BranchCount + PERFORM VARYING MonthIdx FROM 1 BY 1 UNTIL MonthIdx > 12 + ADD SalesForMonth(MonthIdx) TO + StateMonthSales(StateNum, MonthIdx), US-TotalSales + END-PERFORM + READ BranchSalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + END-PERFORM + PERFORM DisplayResults + CLOSE BranchSalesFile + STOP RUN. + +DisplayResults. + DISPLAY ReportHeading + DISPLAY ReportUnderline + DISPLAY ReportSubjectHeadings1 + DISPLAY ReportSubjectHeadings2 + PERFORM VARYING StateIdx FROM 1 BY 1 + UNTIL StateIdx GREATER THAN 50 + MOVE StateIdx TO PrnStateNum + MOVE StateBranchCount(StateIdx) TO PrnBranchCount + PERFORM VARYING MonthIdx FROM 1 BY 1 UNTIL MonthIdx > 6 + MOVE StateMonthSales(StateIdx, MonthIdx) TO PrnMonthSales1(MonthIdx) + END-PERFORM + PERFORM VARYING MonthIdx FROM 7 BY 1 UNTIL MonthIdx > 12 + MOVE StateMonthSales(StateIdx, MonthIdx) TO PrnMonthSales2(MonthIdx - 6) + END-PERFORM + DISPLAY DetailLine1 + DISPLAY DetailLine2 + DISPLAY SPACES + END-PERFORM + MOVE US-TotalSales TO PrnUS-TotalSales + MOVE US-BranchCount TO PrnUS-BranchCount + COMPUTE PrnUS-AverageSales = US-TotalSales / US-BranchCount + DISPLAY "YoreCandyShoppe branches in the US = " PrnUS-BranchCount + DISPLAY "YoreCandyShoppe sales in the US = " PrnUS-TotalSales + DISPLAY "YoreCandyShoppe average US sales = " PrnUS-AverageSales. diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3BranchSales.dat b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3BranchSales.dat new file mode 100644 index 0000000..d6bce5c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-3BranchSales.dat @@ -0,0 +1,105 @@ +123456742001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123457023001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123457314001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123457650001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123457922001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123458248001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123458524001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123458827001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123459018001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123459412001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123459730001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123460046001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123460344001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123460602001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123460916001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123461220001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123461537001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123461822001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123462211001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123462430001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123462719001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123463008001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123463340001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123463627001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123463913001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123464213001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123464537001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123464838001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123465139001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123465418001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123465712001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123466017001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123466341001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123466641001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123466932001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123467215001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123467534001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123467835001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123468113001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123468415001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123468713001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123469030001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123469330001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123469613001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123469931001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123470250001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123470530001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123470840001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123471125001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123471405001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123471746001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123472017001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123472339001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123472646001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123472935001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123473210001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123473503001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123473844001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123474128001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123474406001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123474728001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123475023001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123475336001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123475609001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123475913001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123476203001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123476520001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123476804001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123477134001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123477406001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123477709001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123478007001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123478332001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123478646001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123478949001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123479226001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123479848001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123480134001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123480442001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123480743001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123481029001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123481324001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123481603001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123481903001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123482237001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123482517001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123482835001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123483133001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123483406001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123483741001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123484001001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123484336001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123484633001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123484934001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123485243001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123485535001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123485826001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123486121001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +123486431001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223484944001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223485245001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223485547001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223485826001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223486133001111100222220033333004444400555550066666007777700888880099999010101001111110121212 +223486544001111100222220033333004444400555550066666007777700888880099999010101001111110121212 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.RPT b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.RPT new file mode 100644 index 0000000..df37253 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.RPT @@ -0,0 +1,71 @@ + + Electronics2Go Sales Report +State Name Branch SalesId SalesTotal + +Arkansas KA123 12344M $111.11 + 12345F $222.22 + 12347M $333.33 + 12348F $444.44 + 12349M $555.55 + Branch Total: $1,666.65 + + KA124 23456F $666.66 + 23457F $777.77 + 23456F $888.88 + Branch Total: $2,333.31 + + KA128 11345F $33.54 + 44444M $1,711.16 + 55555M $166.75 + Branch Total: $1,911.45 + + KA411 00123F $4,133.32 + 11111F $6,177.90 + 22222M $3,157.05 + Branch Total: $13,468.27 + State Total : $19,379.68 + +Florida LF111 00123F $188.15 + 33123F $39.45 + 55123F $66.55 + Branch Total: $294.15 + + LF222 12121M $53.96 + 23232F $68.35 + Branch Total: $122.31 + + LF333 23232F $13.79 + 34343M $62.55 + 45343F $106.05 + Branch Total: $182.39 + State Total : $598.85 + +New Jersey JN123 65431M $28.66 + 66343F $43.29 + Branch Total: $71.95 + + JN124 4321M0 $290.60 + 5678F0 $292.20 + 8888F0 $293.80 + Branch Total: $876.60 + + JN125 0101M0 $518.00 + 34010F $67.32 + 56421M $91.02 + Branch Total: $676.34 + + JN444 14231F $22.98 + 14233M $7.68 + 15253F $30.82 + 26253F $693.42 + Branch Total: $754.90 + + JN777 31311M $1,523.58 + 31321M $707.88 + 31331M $807.89 + 31341M $1,015.81 + 31361M $515.85 + 31371M $1,523.85 + Branch Total: $6,094.86 + State Total : $8,474.65 + Final Total : $28,453.18 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.cbl b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.cbl new file mode 100644 index 0000000..211e004 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4.cbl @@ -0,0 +1,191 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing11-4. +AUTHOR. Michael Coughlan. +* A three level Control Break program to process the Electronics2Go +* Sales file and produce a report that shows the value of sales for +* each Salesperson, each Branch, each State, and for the Country. +* The SalesFile is sorted on ascending SalespersonId within BranchId +* within StateNum. +* The report must be printed in SalespersonId within BranchId +* within StateName. There is a correspondence between StateNum order +* and StateName order such that the order of records in +* the file is the same if the file is ordered on ascending StateNum +* as it is when the file is ordered on ascending StateName + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. +SELECT SalesFile ASSIGN TO "Listing11-4TestData.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + +SELECT SalesReport ASSIGN TO "Listing11-4.RPT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD SalesFile. +01 SalesRecord. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 StateNum PIC 99. + 02 BranchId PIC X(5). + 02 SalesPersonId PIC X(6). + 02 ValueOfSale PIC 9(4)V99. + +FD SalesReport. +01 PrintLine PIC X(55). + +WORKING-STORAGE SECTION. +01 StateNameTable. + 02 StateNameValues. + 03 FILLER PIC X(14) VALUE "Alabama". + 03 FILLER PIC X(14) VALUE "Alaska". + 03 FILLER PIC X(14) VALUE "Arizona". + 03 FILLER PIC X(14) VALUE "Arkansas". + 03 FILLER PIC X(14) VALUE "California". + 03 FILLER PIC X(14) VALUE "Colorado". + 03 FILLER PIC X(14) VALUE "Connecticut". + 03 FILLER PIC X(14) VALUE "Delaware". + 03 FILLER PIC X(14) VALUE "Florida". + 03 FILLER PIC X(14) VALUE "Georgia". + 03 FILLER PIC X(14) VALUE "Hawaii". + 03 FILLER PIC X(14) VALUE "Idaho". + 03 FILLER PIC X(14) VALUE "Illinois". + 03 FILLER PIC X(14) VALUE "Indiana". + 03 FILLER PIC X(14) VALUE "Iowa". + 03 FILLER PIC X(14) VALUE "Kansas". + 03 FILLER PIC X(14) VALUE "Kentucky". + 03 FILLER PIC X(14) VALUE "Louisiana". + 03 FILLER PIC X(14) VALUE "Maine". + 03 FILLER PIC X(14) VALUE "Maryland". + 03 FILLER PIC X(14) VALUE "Massachusetts". + 03 FILLER PIC X(14) VALUE "Michigan". + 03 FILLER PIC X(14) VALUE "Minnesota". + 03 FILLER PIC X(14) VALUE "Mississippi". + 03 FILLER PIC X(14) VALUE "Missouri". + 03 FILLER PIC X(14) VALUE "Montana". + 03 FILLER PIC X(14) VALUE "Nebraska". + 03 FILLER PIC X(14) VALUE "Nevada". + 03 FILLER PIC X(14) VALUE "New Hampshire". + 03 FILLER PIC X(14) VALUE "New Jersey". + 03 FILLER PIC X(14) VALUE "New Mexico". + 03 FILLER PIC X(14) VALUE "New York". + 03 FILLER PIC X(14) VALUE "North Carolina". + 03 FILLER PIC X(14) VALUE "North Dakota". + 03 FILLER PIC X(14) VALUE "Ohio". + 03 FILLER PIC X(14) VALUE "Oklahoma". + 03 FILLER PIC X(14) VALUE "Oregon". + 03 FILLER PIC X(14) VALUE "Pennsylvania". + 03 FILLER PIC X(14) VALUE "Rhode Island". + 03 FILLER PIC X(14) VALUE "South Carolina". + 03 FILLER PIC X(14) VALUE "South Dakota". + 03 FILLER PIC X(14) VALUE "Tennessee". + 03 FILLER PIC X(14) VALUE "Texas". + 03 FILLER PIC X(14) VALUE "Utah". + 03 FILLER PIC X(14) VALUE "Vermont". + 03 FILLER PIC X(14) VALUE "Virginia". + 03 FILLER PIC X(14) VALUE "Washington". + 03 FILLER PIC X(14) VALUE "West Virginia". + 03 FILLER PIC X(14) VALUE "Wisconsin". + 03 FILLER PIC X(14) VALUE "Wyoming". +02 FILLER REDEFINES StateNameValues. + 03 StateName PIC X(14) OCCURS 50 TIMES. + +01 ReportHeading. + 02 FILLER PIC X(35) + VALUE " Electronics2Go Sales Report". + +01 SubjectHeading. + 02 FILLER PIC X(43) + VALUE "State Name Branch SalesId SalesTotal". + +01 DetailLine. + 02 PrnStateName PIC X(14). + 88 SuppressStateName VALUE SPACES. + 02 PrnBranchId PIC BBX(5). + 88 SuppressBranchId VALUE SPACES. + 02 PrnSalespersonId PIC BBBBX(6). + 02 PrnSalespersonTotal PIC BB$$,$$9.99. + +01 BranchTotalLine. + 02 FILLER PIC X(43) + VALUE " Branch Total: ". + 02 PrnBranchTotal PIC $$$,$$9.99. + +01 StateTotalLine. + 02 FILLER PIC X(40) + VALUE " State Total : ". + 02 PrnStateTotal PIC $$,$$$,$$9.99. + +01 FinalTotalLine. + 02 FILLER PIC X(39) + VALUE " Final Total :". + 02 PrnFinalTotal PIC $$$,$$$,$$9.99. + +01 SalespersonTotal PIC 9(4)V99. +01 BranchTotal PIC 9(6)V99. +01 StateTotal PIC 9(7)V99. +01 FinalTotal PIC 9(9)V99. + +01 PrevStateNum PIC 99. +01 PrevBranchId PIC X(5). +01 PrevSalespersonId PIC X(6). + + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT SalesFile + OPEN OUTPUT SalesReport + WRITE PrintLine FROM ReportHeading AFTER ADVANCING 1 LINE + WRITE PrintLine FROM SubjectHeading AFTER ADVANCING 1 LINE + + READ SalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ + PERFORM UNTIL EndOfSalesFile + MOVE StateNum TO PrevStateNum, + MOVE StateName(StateNum) TO PrnStateName + MOVE ZEROS TO StateTotal + PERFORM SumSalesForState + UNTIL StateNum NOT = PrevStateNum + OR EndOfSalesFile + MOVE StateTotal TO PrnStateTotal + WRITE PrintLine FROM StateTotalLine AFTER ADVANCING 1 LINE + END-PERFORM + + MOVE FinalTotal TO PrnFinalTotal + WRITE PrintLine FROM FinalTotalLine AFTER ADVANCING 1 LINE + + CLOSE SalesFile, SalesReport + STOP RUN. + +SumSalesForState. + WRITE PrintLine FROM SPACES AFTER ADVANCING 1 LINE + MOVE BranchId TO PrevBranchId, PrnBranchId + MOVE ZEROS TO BranchTotal + PERFORM SumSalesForBranch + UNTIL BranchId NOT = PrevBranchId + OR StateNum NOT = PrevStateNum + OR EndOfSalesFile + MOVE BranchTotal TO PrnBranchTotal + WRITE PrintLine FROM BranchTotalLine AFTER ADVANCING 1 LINE. + +SumSalesForBranch. + MOVE SalespersonId TO PrevSalespersonId, PrnSalespersonId + MOVE ZEROS TO SalespersonTotal + PERFORM SumSalespersonSales + UNTIL SalespersonId NOT = PrevSalespersonId + OR BranchId NOT = PrevBranchId + OR StateNum NOT = PrevStateNum + OR EndOfSalesFile + MOVE SalespersonTotal TO PrnSalespersonTotal + WRITE PrintLine FROM DetailLine AFTER ADVANCING 1 LINE + SET SuppressBranchId TO TRUE + SET SuppressStateName TO TRUE. + +SumSalespersonSales. + ADD ValueOfSale TO SalespersonTotal, BranchTotal, StateTotal, FinalTotal + READ SalesFile + AT END SET EndOfSalesFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4TestData.Dat b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4TestData.Dat new file mode 100644 index 0000000..aea2cf0 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch11/Listing11-4TestData.Dat @@ -0,0 +1,184 @@ +04KA12312344M011111 +04KA12312345F011111 +04KA12312345F011111 +04KA12312347M033333 +04KA12312348F022222 +04KA12312348F022222 +04KA12312349M055555 +04KA12423456F022222 +04KA12423456F022222 +04KA12423456F022222 +04KA12423457F077777 +04KA12423456F044444 +04KA12423456F044444 +04KA12811345F001117 +04KA12811345F001118 +04KA12811345F001119 +04KA12844444M055555 +04KA12844444M055555 +04KA12844444M055555 +04KA12844444M002225 +04KA12844444M002226 +04KA12855555M003333 +04KA12855555M003334 +04KA12855555M003335 +04KA12855555M003336 +04KA12855555M003337 +04KA41100123F104443 +04KA41100123F204444 +04KA41100123F104445 +04KA41111111F304446 +04KA41111111F104447 +04KA41111111F104448 +04KA41111111F104449 +04KA41122222M100234 +04KA41122222M110235 +04KA41122222M105236 +09LF11100123F015555 +09LF11100123F000650 +09LF11100123F000651 +09LF11100123F000652 +09LF11100123F000653 +09LF11100123F000654 +09LF11133123F000655 +09LF11133123F000656 +09LF11133123F000657 +09LF11133123F000658 +09LF11133123F000659 +09LF11133123F000660 +09LF11155123F000661 +09LF11155123F000662 +09LF11155123F000663 +09LF11155123F000664 +09LF11155123F000665 +09LF11155123F000666 +09LF11155123F000667 +09LF11155123F000668 +09LF11155123F000669 +09LF11155123F000670 +09LF22212121M000671 +09LF22212121M000672 +09LF22212121M000673 +09LF22212121M000674 +09LF22212121M000675 +09LF22212121M000676 +09LF22212121M000677 +09LF22212121M000678 +09LF22223232F000679 +09LF22223232F000680 +09LF22223232F000681 +09LF22223232F000682 +09LF22223232F000683 +09LF22223232F000684 +09LF22223232F000685 +09LF22223232F000686 +09LF22223232F000687 +09LF22223232F000688 +09LF33323232F000689 +09LF33323232F000690 +09LF33334343M000691 +09LF33334343M000692 +09LF33334343M000693 +09LF33334343M000694 +09LF33334343M000695 +09LF33334343M000696 +09LF33334343M000697 +09LF33334343M000698 +09LF33334343M000699 +09LF33345343F000700 +09LF33345343F000701 +09LF33345343F000702 +09LF33345343F000703 +09LF33345343F000704 +09LF33345343F000705 +09LF33345343F000706 +09LF33345343F000707 +09LF33345343F000708 +09LF33345343F000709 +09LF33345343F000710 +09LF33345343F000711 +09LF33345343F000712 +09LF33345343F000713 +09LF33345343F000714 +30JN12365431M000715 +30JN12365431M000716 +30JN12365431M000717 +30JN12365431M000718 +30JN12366343F000719 +30JN12366343F000720 +30JN12366343F000721 +30JN12366343F000722 +30JN12366343F000723 +30JN12366343F000724 +30JN1244321M000725 +30JN1244321M000726 +30JN1244321M000727 +30JN1244321M000728 +30JN1245678F000729 +30JN1245678F000730 +30JN1245678F000731 +30JN1245678F000732 +30JN1248888F000733 +30JN1248888F000734 +30JN1248888F000735 +30JN1248888F000736 +30JN1250101M000737 +30JN1250101M000738 +30JN1250101M000739 +30JN1250101M000740 +30JN1250101M000741 +30JN1250101M000742 +30JN1250101M000743 +30JN12534010F000744 +30JN12534010F000745 +30JN12534010F000746 +30JN12534010F000747 +30JN12534010F000748 +30JN12534010F000749 +30JN12534010F000750 +30JN12534010F000751 +30JN12534010F000752 +30JN12556421M000753 +30JN12556421M000754 +30JN12556421M000755 +30JN12556421M000756 +30JN12556421M000757 +30JN12556421M000758 +30JN12556421M000759 +30JN12556421M000760 +30JN12556421M000761 +30JN12556421M000762 +30JN12556421M000763 +30JN12556421M000764 +30JN44414231F000765 +30JN44414231F000766 +30JN44414231F000767 +30JN44414233M000768 +30JN44415253F000769 +30JN44415253F000770 +30JN44415253F000771 +30JN44415253F000772 +30JN44426253F000773 +30JN44426253F000774 +30JN44426253F000775 +30JN44426253F000776 +30JN44426253F000777 +30JN44426253F000778 +30JN44426253F000779 +30JN44426253F000780 +30JN44426253F000781 +30JN44426253F010782 +30JN44426253F020783 +30JN44426253F030784 +30JN77731311M040785 +30JN77731311M050786 +30JN77731311M060787 +30JN77731321M070788 +30JN77731331M080789 +30JN77731341M090790 +30JN77731341M010791 +30JN77731361M020792 +30JN77731361M030793 +30JN77731371M040794 +30JN77731371M050795 +30JN77731371M060796 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.cbl new file mode 100644 index 0000000..720da8c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.cbl @@ -0,0 +1,112 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing12-1. +AUTHOR. Michael Coughlan. +* This program produces a summary report showing the sales of base oils +* to Aromamora customers by processing the OilSalesFile. The OilSalesFile is a +* sequential file ordered on ascending CustomerId. The report is required to be +* printed in ascending CustomerId order. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BaseOilsSalesFile ASSIGN TO "Listing12-1.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT SummaryReport ASSIGN TO "Listing12-1.Rpt" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BaseOilsSalesFile. +01 SalesRec. + 88 EndOfSalesFile VALUE HIGH-VALUES. + 02 CustomerId PIC X(5). + 02 CustomerName PIC X(20). + 02 OilId. + 03 FILLER PIC X. + 03 OilNum PIC 99. + 02 UnitSize PIC 9. + 02 UnitsSold PIC 999. + +FD SummaryReport. +01 PrintLine PIC X(45). + +WORKING-STORAGE SECTION. +01 OilsTable. + 02 OilTableValues. + 03 FILLER PIC X(28) VALUE "Almond 020003500650". + 03 FILLER PIC X(28) VALUE "Aloe vera 047508501625". + 03 FILLER PIC X(28) VALUE "Apricot kernel 025004250775". + 03 FILLER PIC X(28) VALUE "Avocado 027504750875". + 03 FILLER PIC X(28) VALUE "Coconut 027504750895". + 03 FILLER PIC X(28) VALUE "Evening primrose037506551225". + 03 FILLER PIC X(28) VALUE "Grape seed 018503250600". + 03 FILLER PIC X(28) VALUE "Peanut 027504250795". + 03 FILLER PIC X(28) VALUE "Jojoba 072513252500". + 03 FILLER PIC X(28) VALUE "Macadamia 032505751095". + 03 FILLER PIC X(28) VALUE "Rosehip 052509951850". + 03 FILLER PIC X(28) VALUE "Sesame 029504250750". + 03 FILLER PIC X(28) VALUE "Walnut 027504550825". + 03 FILLER PIC X(28) VALUE "Wheatgerm 045007751425". + 02 FILLER REDEFINES OilTableValues. + 03 BaseOil OCCURS 14 TIMES. + 04 OilName PIC X(16). + 04 UnitCost PIC 99V99 OCCURS 3 TIMES. + +01 ReportHeadingLine PIC X(41) + VALUE " Aromamora Base Oils Summary Sales Report". + +01 TopicHeadingLine. + 02 FILLER PIC X(9) VALUE "Cust Id". + 02 FILLER PIC X(15) VALUE "Customer Name". + 02 FILLER PIC X(7) VALUE SPACES. + 02 FILLER PIC X(12) VALUE "ValueOfSales". + +01 ReportFooterLine PIC X(43) + VALUE "************** End of Report **************". + +01 CustSalesLine. + 02 PrnCustId PIC B9(5). + 02 PrnCustName PIC BBBX(20). + 02 PrnCustTotalSales PIC BBB$$$$,$$9.99. + + +01 CustTotalSales PIC 9(6)V99. +01 PrevCustId PIC X(5). +01 ValueOfSale PIC 9(5)V99. + + +PROCEDURE DIVISION. +Print-Summary-Report. + OPEN OUTPUT SummaryReport + OPEN INPUT BaseOilsSalesFile + + WRITE PrintLine FROM ReportHeadingLine AFTER ADVANCING 1 LINE + WRITE PrintLine FROM TopicHeadingLine AFTER ADVANCING 2 LINES + + READ BaseOilsSalesFile + AT END SET EndOfSalesFile TO TRUE + END-Read + + PERFORM PrintCustomerLines UNTIL EndOfSalesFile + + WRITE PrintLine FROM ReportFooterLine AFTER ADVANCING 3 LINES + + CLOSE SummaryReport, BaseOilsSalesFile + STOP RUN. + +PrintCustomerLines. + MOVE ZEROS TO CustTotalSales + MOVE CustomerId TO PrnCustId, PrevCustId + MOVE CustomerName TO PrnCustName + + PERFORM UNTIL CustomerId NOT = PrevCustId + COMPUTE ValueOfSale = UnitsSold * UnitCost(OilNum, UnitSize) + ADD ValueOfSale TO CustTotalSales + READ BaseOilsSalesFile + AT END SET EndOfSalesFile TO TRUE + END-Read + END-PERFORM + + MOVE CustTotalSales TO PrnCustTotalSales + WRITE PrintLine FROM CustSalesLine AFTER ADVANCING 2 LINES. diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.dat b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.dat new file mode 100644 index 0000000..d945086 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-1.dat @@ -0,0 +1,79 @@ +12332SCENTIMENTS B122100 +12332SCENTIMENTS B112150 +12332SCENTIMENTS B143050 +12332SCENTIMENTS B121150 +12332SCENTIMENTS B123250 +12344AROMANTICS B112115 +12344AROMANTICS B132325 +12344AROMANTICS B082005 +12344AROMANTICS B092105 +12350EATS OF EDEN B081025 +12350EATS OF EDEN B081050 +12350EATS OF EDEN B031100 +12350EATS OF EDEN B021022 +12350EATS OF EDEN B011100 +12352OILS FOR ALL B031045 +12352OILS FOR ALL B032055 +12352OILS FOR ALL B051035 +12352OILS FOR ALL B112025 +12352OILS FOR ALL B121015 +12352OILS FOR ALL B121065 +12352OILS FOR ALL B141005 +12352OILS FOR ALL B133005 +12352OILS FOR ALL B132005 +12352OILS FOR ALL B121105 +12352OILS FOR ALL B121115 +12352OILS FOR ALL B112145 +12352OILS FOR ALL B092005 +12352OILS FOR ALL B062005 +12352OILS FOR ALL B042005 +12352OILS FOR ALL B043005 +22342SCENTS OF SMELL B032050 +22342SCENTS OF SMELL B061050 +22342SCENTS OF SMELL B092050 +22342SCENTS OF SMELL B082050 +22342SCENTS OF SMELL B092050 +22346AROMANIACS B072055 +22346AROMANIACS E101010 +22346AROMANIACS B101010 +22346AROMANIACS B102010 +22346AROMANIACS B112010 +22346AROMANIACS B112010 +22354COMMON SCENTS B012200 +22354COMMON SCENTS B032050 +22354COMMON SCENTS B031100 +22354COMMON SCENTS B033100 +22354COMMON SCENTS B011150 +22354COMMON SCENTS B033050 +22354COMMON SCENTS B142100 +32348HEAVEN SCENT B141075 +32348HEAVEN SCENT B132100 +32348HEAVEN SCENT B042025 +32348HEAVEN SCENT B131050 +32348HEAVEN SCENT B143010 +32348HEAVEN SCENT B142025 +32348HEAVEN SCENT B143100 +32348HEAVEN SCENT B123099 +32350OILS WELL THAT ENDS B093001 +32358SCENTS OF DECORUM B022100 +32358SCENTS OF DECORUM B142100 +32358SCENTS OF DECORUM B133100 +32358SCENTS OF DECORUM B112200 +32358SCENTS OF DECORUM B051150 +32358SCENTS OF DECORUM B111020 +32358SCENTS OF DECORUM B101100 +42346OIL IN GOOD TIME B111005 +42346OIL IN GOOD TIME B111015 +42348SCENTS OF FOREBODINGB082010 +42348SCENTS OF FOREBODINGB083010 +52332MAKING SCENTS OF IT B053005 +52332MAKING SCENTS OF IT B051005 +52332MAKING SCENTS OF IT B061005 +52336SCENTSUALITY B053005 +52336SCENTSUALITY B033015 +52338ODOURS OF SANCTITY B053005 +52346OILS FAYRE IN LOVE B071001 +52348PERFECT SCENTS B071100 +52348PERFECT SCENTS B142100 +52348PERFECT SCENTS B112200 +52348PERFECT SCENTS B051150 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-2.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-2.cbl new file mode 100644 index 0000000..ea6d4b4 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-2.cbl @@ -0,0 +1,50 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing12-2 +AUTHOR. Michael Coughlan. +* RENAMES clause examples +DATA DIVISION. +WORKING-STORAGE SECTION. +01 StudentRec. + 02 StudentId PIC 9(8) VALUE 12345678. + 02 GPA PIC 9V99 VALUE 3.25. + 02 ForeName PIC X(6) VALUE "Matt". + 02 SurName PIC X(8) VALUE "Cullen". + 02 Gender PIC X VALUE "M". + 02 PhoneNumber PIC X(14) VALUE "3536120228233". + +66 PersonalInfo RENAMES ForeName THRU PhoneNumber. +66 CollegeInfo RENAMES StudentId THRU SurName. +66 StudentName RENAMES ForeName THRU SurName. + +01 ContactInfo. + 02 StudName. + 03 StudForename PIC X(6). + 03 StudSurname PIC X(8). + 02 StudGender PIC X. + 02 StudPhone PIC X(14). + +66 MyPhone RENAMES StudPhone. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Example 1" + DISPLAY "All information = " StudentRec + DISPLAY "College info = " CollegeInfo + DISPLAY "Personal Info = " PersonalInfo + + DISPLAY SPACES + DISPLAY "Example 2" + DISPLAY "Combined names = " StudentName + + MOVE PersonalInfo TO ContactInfo + + DISPLAY SPACES + DISPLAY "Example 3" + DISPLAY "Name is " StudName + DISPLAY "Gender is " StudGender + DISPLAY "Phone is " StudPhone + + DISPLAY SPACES + DISPLAY "Example 4" + DISPLAY "MyPhone is " MyPhone + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-3.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-3.cbl new file mode 100644 index 0000000..49c9fde --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-3.cbl @@ -0,0 +1,26 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing12-3. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counters. + 02 Counter1 PIC 99. + 02 Counter2 PIC 99. + 02 Counter3 PIC 9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Debug 1. Discover why I can't stop." + PERFORM EternalLooping VARYING Counter1 + FROM 13 BY -5 UNTIL Counter1 LESS THAN 2 + AFTER Counter2 FROM 15 BY -4 + UNTIL Counter2 LESS THAN 1 + AFTER Counter3 FROM 1 BY 1 + UNTIL Counter3 GREATER THAN 5 + + STOP RUN. + +EternalLooping. + DISPLAY "Counters 1, 2 and 3 are -> " + Counter1 SPACE Counter2 SPACE Counter3. diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-4.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-4.cbl new file mode 100644 index 0000000..1dae458 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-4.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing12-4. +AUTHOR. Michael Coughlan. + + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counters. + 02 Counter1 PIC 99. + 02 Counter2 PIC 9. + 02 Counter3 PIC 9. + + +PROCEDURE DIVISION. +Begin. + DISPLAY "Debug2. Why can't I stop?" + PERFORM EternalLooping VARYING Counter1 + FROM 1 BY 1 UNTIL Counter1 GREATER THAN 25 + AFTER Counter2 FROM 1 BY 1 + UNTIL Counter2 GREATER THAN 9 + AFTER Counter3 FROM 1 BY 1 + UNTIL Counter3 EQUAL TO 5 + + STOP RUN. + + + EternalLooping. + DISPLAY "Counters 1, 2 and 3 are " + Counter1 SPACE Counter2 SPACE Counter3. diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Listing12-5.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-5.cbl new file mode 100644 index 0000000..81035c3 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Listing12-5.cbl @@ -0,0 +1,63 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Debug3. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT PersonFile ASSIGN TO "PERSON.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD PersonFile. +01 PersonRec PIC X(10). + 88 EndOfFile VALUE HIGH-VALUES. + +WORKING-STORAGE SECTION. +01 Surname PIC X(10). + 88 EndOfData VALUE SPACES. +01 Quotient PIC 9(3). +01 Rem PIC 9(3). +01 NumberOfPeople PIC 9(3) VALUE ZERO. + +PROCEDURE DIVISION. +Begin. + OPEN OUTPUT PersonFile + DISPLAY "Debug3" + DISPLAY "Enter list of Surnames." + DISPLAY "Press RETURN after each name." + DISPLAY "To finish press return with no value." + DISPLAY "This will fill Surname with spaces" + DISPLAY "Name -> " WITH NO ADVANCING + ACCEPT Surname + PERFORM GetPersons UNTIL EndOfData + CLOSE PersonFile + + OPEN INPUT PersonFile + READ PersonFile + AT END SET EndOfFile TO TRUE + END-READ + PERFORM CountPersons UNTIL EndOfFile. + CLOSE PersonFile + + DIVIDE NumberOfPeople BY 2 + GIVING Quotient REMAINDER Rem + + IF Rem = 0 + DISPLAY "Even number of people" + ELSE + DISPLAY "Odd number of people" + + STOP RUN. + +GetPersons. + WRITE PersonRec FROM Surname + DISPLAY "Name -> " WITH NO ADVANCING + ACCEPT Surname. + +CountPersons. + DISPLAY PersonRec + ADD 1 TO NumberOfPeople + READ PersonFile + AT END SET EndOfFile TO TRUE + END-READ. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch12/Lsiting12-6.cbl b/978-1-4302-6253-4_Coughlan_Ch12/Lsiting12-6.cbl new file mode 100644 index 0000000..835fadc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch12/Lsiting12-6.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Debug4. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counter1 PIC 99. +01 InNumber PIC 9. +01 Result PIC 999. + + +PROCEDURE DIVISION. +Begin. + DISPLAY "DEBUG4. Sometimes I just don't stop" + DISPLAY "Enter number 0-9 :--> " WITH NO ADVANCING + ACCEPT InNumber + PERFORM EternalLooping + VARYING Counter1 FROM 1 BY 1 + UNTIL Counter1 GREATER THAN 10 + + DISPLAY "Back in main paragraph now" + STOP RUN. + +EternalLooping. + COMPUTE Result = InNumber * Counter1 + IF Result > 60 + MOVE 99 TO Counter1 + END-IF + DISPLAY "Counter1 = " Counter1 " Result = " Result. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-1.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-1.cbl new file mode 100644 index 0000000..a665741 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-1.cbl @@ -0,0 +1,33 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-1. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 LetterTable. + 02 TableValues. + 03 FILLER PIC X(13) + VALUE "ABCDEFGHIJKLM". + 03 FILLER PIC X(13) + VALUE "NOPQRSTUVWXYZ". + 02 FILLER REDEFINES TableValues. + 03 Letter PIC X OCCURS 26 TIMES + INDEXED BY LetterIdx. + +01 IdxValue PIC 99 VALUE ZEROS. + +01 LetterIn PIC X. + 88 ValidLetter VALUE "A" THRU "Z". + +PROCEDURE DIVISION. +FindAlphabetLetterPosition. + PERFORM WITH TEST AFTER UNTIL ValidLetter + DISPLAY "Enter an upper case letter please - " WITH NO ADVANCING + ACCEPT LetterIn + END-PERFORM + SET LetterIdx TO 1 + SEARCH Letter + WHEN Letter(LetterIdx) = LetterIn + SET IdxValue TO LetterIdx + DISPLAY LetterIn, " is in position ", IdxValue + END-SEARCH + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-2.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-2.cbl new file mode 100644 index 0000000..e389e36 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-2.cbl @@ -0,0 +1,122 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-2. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 StatesTable. + 02 StateValues. + 03 FILLER PIC X(60) + VALUE "ALAlabama Montgomery AKAlaska Juneau". + 03 FILLER PIC X(60) + VALUE "AZArizona Phoenix ARArkansas Little Rock". + 03 FILLER PIC X(60) + VALUE "CACalifornia Sacramento COColorado Denver". + 03 FILLER PIC X(60) + VALUE "CTConnecticut Hartford DEDelaware Dover". + 03 FILLER PIC X(60) + VALUE "FLFlorida Tallahassee GAGeorgia Atlanta". + 03 FILLER PIC X(60) + VALUE "HIHawaii Honolulu IDIdaho Boise". + 03 FILLER PIC X(60) + VALUE "ILIllinois Springfield INIndiana Indianapolis". + 03 FILLER PIC X(60) + VALUE "IAIowa Des Moines KSKansas Topeka". + 03 FILLER PIC X(60) + VALUE "KYKentucky Frankfort LALouisiana Baton Rouge". + 03 FILLER PIC X(60) + VALUE "MEMaine Augusta MDMaryland Annapolis". + 03 FILLER PIC X(60) + VALUE "MAMassachusetts Boston MIMichigan Lansing". + 03 FILLER PIC X(60) + VALUE "MNMinnesota Saint Paul MSMississippi Jackson". + 03 FILLER PIC X(60) + VALUE "MOMissouri Jefferson CityMTMontana Helena". + 03 FILLER PIC X(60) + VALUE "NENebraska Lincoln NVNevada Carson City". + 03 FILLER PIC X(60) + VALUE "NHNew Hampshire Concord NJNew Jersey Trenton". + 03 FILLER PIC X(60) + VALUE "NMNew Mexico Santa Fe NYNew York Albany". + 03 FILLER PIC X(60) + VALUE "NCNorth CarolinaRaleigh NDNorth Dakota Bismarck". + 03 FILLER PIC X(60) + VALUE "OHOhio Columbus OKOklahoma Oklahoma City". + 03 FILLER PIC X(60) + VALUE "OROregon Salem PAPennsylvania Harrisburg". + 03 FILLER PIC X(60) + VALUE "RIRhode Island Providence SCSouth CarolinaColumbia". + 03 FILLER PIC X(60) + VALUE "SDSouth Dakota Pierre TNTennessee Nashville". + 03 FILLER PIC X(60) + VALUE "TXTexas Austin UTUtah Salt Lake City". + 03 FILLER PIC X(60) + VALUE "VTVermont Montpelier VAVirginia Richmond". + 03 FILLER PIC X(60) + VALUE "WAWashington Olympia WVWest Virginia Charleston". + 03 FILLER PIC X(60) + VALUE "WIWisconsin Madison WYWyoming Cheyenne". + 02 FILLER REDEFINES StateValues. + 03 State OCCURS 50 TIMES + INDEXED BY StateIdx. + 04 StateCode PIC XX. + 04 StateName PIC X(14). + 04 StateCapital PIC X(14). + +01 StateNameIn PIC X(14). + +01 StateCapitalIn PIC X(14). + +01 StateCodeIn PIC XX. + +01 SearchChoice PIC 9 VALUE ZERO. + 88 ValidSearchChoice VALUES 1, 2, 3, 4. + 88 EndOfInput VALUE 4. + +PROCEDURE DIVISION. +Begin. + PERFORM WITH TEST AFTER UNTIL EndOfInput + PERFORM WITH TEST AFTER UNTIL ValidSearchChoice + DISPLAY SPACES + DISPLAY "Search by StateCode (1), StateName (2), StateCaptial (3), STOP (4) - " + WITH NO ADVANCING + ACCEPT SearchChoice + END-PERFORM + SET StateIdx TO 1 + EVALUATE SearchChoice + WHEN 1 PERFORM GetNameAndCapital + WHEN 2 PERFORM GetCodeAndCapital + WHEN 3 PERFORM GetCodeAndName + END-EVALUATE + END-PERFORM + STOP RUN. + +GetNameAndCapital. + DISPLAY "Enter the two letter State Code - " WITH NO ADVANCING + ACCEPT StateCodeIn + MOVE FUNCTION UPPER-CASE(StateCodeIn) TO StateCodeIn + SEARCH State + AT END DISPLAY "State code " StateCodeIn " does not exist" + WHEN StateCode(StateIdx) = StateCodeIn + DISPLAY "State Name = " StateName(StateIdx) + DISPLAY "State Capital = " StateCapital(StateIdx) + END-SEARCH. + +GetCodeAndCapital. + DISPLAY "Enter the State Name - " WITH NO ADVANCING + ACCEPT StateNameIn + SEARCH State + AT END DISPLAY "State Name " StateNameIn " does not exist" + WHEN FUNCTION UPPER-CASE(StateName(StateIdx)) = FUNCTION UPPER-CASE(StateNameIn) + DISPLAY "State Code = " StateCode(StateIdx) + DISPLAY "State Capital = " StateCapital(StateIdx) + END-SEARCH. + +GetCodeAndName. + DISPLAY "Enter the State Capital - " WITH NO ADVANCING + ACCEPT StateCapitalIn + SEARCH State + AT END DISPLAY "State capital " StateCapitalIn " does not exist" + WHEN FUNCTION UPPER-CASE(StateCapital(StateIdx)) = FUNCTION UPPER-CASE(StateCapitalIn) + DISPLAY "State Code = " StateCode(StateIdx) + DISPLAY "State Name = " StateName(StateIdx) + END-SEARCH. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-3.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-3.cbl new file mode 100644 index 0000000..e250794 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-3.cbl @@ -0,0 +1,47 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-3. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 MyTimeTable. + 02 DayOfApp OCCURS 5 TIMES INDEXED BY DayIdx. + 03 HourOfApp OCCURS 9 TIMES INDEXED BY HourIdx. + 04 Appointment PIC X(15). + 04 Location PIC X(20). + +01 AppointmentType PIC X(15). + +01 DaySub PIC 9. +01 HourSub PIC 9. + +01 FILLER PIC 9 VALUE ZERO. + 88 AppointmentNotFound VALUE ZERO. + 88 AppointmentFound VALUE 1. + +01 DayTable VALUE "MonTueWedThuFri". + 02 DayName PIC XXX OCCURS 5 TIMES. + +01 TimeValues VALUE " 9:0010:0011:0012:0013:0014:0015:0016:0017:00". + 02 TimeValue PIC X(5) OCCURS 9 TIMES. + +PROCEDURE DIVISION. +Begin. + MOVE "Peter's Wedding" TO AppointmentType, Appointment(2, 3) + MOVE "Saint John's Church" TO Location(2, 3) + SET DayIdx TO 1. + PERFORM UNTIL AppointmentFound OR DayIdx > 5 + SET HourIdx TO 1 + SEARCH HourOfApp + AT END SET DayIdx UP BY 1 + WHEN AppointmentType = Appointment(DayIdx, HourIdx) + SET AppointmentFound TO TRUE + SET HourSub TO HourIdx + SET DaySub TO DayIdx + DISPLAY AppointmentType " is on " DayName(DaySub) + DISPLAY "at " TimeValue(HourSub) " in " Location(DayIdx, HourIdx) + END-SEARCH + END-PERFORM + IF AppointmentNotFound + DISPLAY "Appointment " AppointmentType " was not in the timetable" + END-IF + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-4.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-4.cbl new file mode 100644 index 0000000..b834333 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-4.cbl @@ -0,0 +1,48 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-4. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 JeansSalesTable. + 02 Shop OCCURS 150 TIMES INDEXED BY ShopIdx. + 03 ShopName PIC X(15) VALUE SPACES. + 03 JeansColor OCCURS 3 TIMES. + 04 TotalSold PIC 9(5) VALUE ZEROS. + + +01 ShopQuery PIC X(15). + +01 PrnWhiteJeans. + 02 PrnWhiteTotal PIC ZZ,ZZ9. + 02 FILLER PIC X(12) VALUE " white jeans". + +01 PrnBlueJeans. + 02 PrnBlueTotal PIC ZZ,ZZ9. + 02 FILLER PIC X(12) VALUE " blue jeans". + +01 PrnBlackJeans. + 02 PrnBlackTotal PIC ZZ,ZZ9. + 02 FILLER PIC X(12) VALUE " black jeans". + + + +PROCEDURE DIVISION. +Begin. + MOVE "Jean Therapy" TO ShopName(3), ShopQuery + MOVE 00734 TO TotalSold(3, 1) + MOVE 04075 TO TotalSold(3, 2) + MOVE 01187 TO TotalSold(3, 3) + + SET ShopIdx TO 1 + SEARCH Shop + AT END Display "Shop not found" + WHEN ShopName(ShopIdx) = ShopQuery + MOVE TotalSold(ShopIdx, 1) TO PrnWhiteTotal + MOVE TotalSold(ShopIdx, 2) TO PrnBlueTotal + MOVE TotalSold(ShopIdx, 3) TO PrnBlackTotal + DISPLAY "Sold by " ShopQuery + DISPLAY PrnWhiteJeans + DISPLAY PrnBlueJeans + DISPLAY PrnBlackJeans + END-SEARCH + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.cbl new file mode 100644 index 0000000..a7309b4 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.cbl @@ -0,0 +1,69 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-5. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT CountryCodeFile ASSIGN TO "Listing13-5.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD CountryCodeFile. +01 CountryCodeRec. + 88 EndOfCountryCodeFile VALUE HIGH-VALUES. + 02 CountryCodeCF PIC XX. + 02 CountryNameCF PIC X(25). + +WORKING-STORAGE SECTION. +01 CountryCodeTable. + 02 Country OCCURS 300 TIMES + ASCENDING KEY IS CountryCode + INDEXED BY Cidx. + 03 CountryCode PIC XX. + 03 CountryName PIC X(25). + +01 CountryCodeIn PIC XX. + 88 EndOfInput VALUE SPACES. + +01 FILLER PIC 9 VALUE ZERO. + 88 ValidCountryCode VALUE 1. + +PROCEDURE DIVISION. +Begin. + PERFORM LoadCountryCodeTable + PERFORM WITH TEST AFTER UNTIL EndOfInput + PERFORM WITH TEST AFTER UNTIL ValidCountryCode OR EndOfInput + DISPLAY "Enter a country code (space to stop) :- " + WITH NO ADVANCING + ACCEPT CountryCodeIn + SEARCH ALL Country + AT END IF NOT EndOfInput + DISPLAY "Country code " CountryCodeIn " is not valid" + END-IF + WHEN CountryCode(Cidx) = FUNCTION UPPER-CASE(CountryCodeIn) + DISPLAY CountryCodeIn " is " CountryName(Cidx) + END-SEARCH + DISPLAY SPACES + END-PERFORM + END-PERFORM + STOP RUN. + +LoadCountryCodeTable. +* Loads table with HIGH-VALUES so the SEARCH ALL works when the table is partially loaded + MOVE HIGH-VALUES TO CountryCodeTable + OPEN INPUT CountryCodeFile + READ CountryCodeFile + AT END SET EndOfCountryCodeFile TO TRUE + END-READ + + PERFORM VARYING Cidx FROM 1 BY 1 UNTIL EndOfCountryCodeFile + MOVE CountryCodeRec TO Country(Cidx) + READ CountryCodeFile + AT END SET EndOfCountryCodeFile TO TRUE + END-READ + END-PERFORM + CLOSE CountryCodeFile. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.dat b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.dat new file mode 100644 index 0000000..6d64326 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-5.dat @@ -0,0 +1,242 @@ +ADAndorra +AEUnited Arab Emirates +AFAfghanistan +AGAntigua and Barbuda +AIAnguilla +ALAlbania +AMArmenia +ANNetherlands Antilles +AOAngola +AQAntarctica +ARArgentina +ASAmerican Samoa +ATAustria +AUAustralia +AWAruba +AZAzerbaijan +BABosnia and Herzegovina +BBBarbados +BDBangladesh +BEBelgium +BFBurkina Faso +BGBulgaria +BHBahrain +BIBurundi +BJBenin +BMBermuda +BNBrunei Darussalam +BOBolivia +BRBrazil +BSBahamas +BTBhutan +BVBouvet Island +BWBotswana +BYBelarus +BZBelize +CACanada +CCCocos (Keeling) Islands +CFCentral African Republic +CGCongo +CHSwitzerland +CIIvory Coast +CKCook Islands +CLChile +CMCameroon +CNChina +COColombia +CRCosta Rica +CSCzechoslovakia (former) +CUCuba +CVCape Verde +CXChristmas Island +CYCyprus +CZCzech Republic +DEGermany +DJDjibouti +DKDenmark +DMDominica +DODominican Republic +DZAlgeria +ECEcuador +EEEstonia +EGEgypt +EHWestern Sahara +EREritrea +ESSpain +ETEthiopia +FIFinland +FJFiji +FKFalkland Islands +FMMicronesia +FOFaroe Islands +FRFrance +FXFrance, Metropolitan +GAGabon +GBGreat Britain (UK) +GDGrenada +GEGeorgia +GFFrench Guiana +GHGhana +GIGibraltar +GLGreenland +GMGambia +GNGuinea +GPGuadeloupe +GQEquatorial Guinea +GRGreece +GSS Georgia & SSandwich +GTGuatemala +GUGuam +GWGuinea-Bissau +GYGuyana +HKHong Kong +HMHeard and McDonald Isls +HNHonduras +HRCroatia (Hrvatska) +HTHaiti +HUHungary +IDIndonesia +IEIreland +ILIsrael +INIndia +IOBritish Ind Ocean Territ +IQIraq +IRIran +ISIceland +ITItaly +JMJamaica +JOJordan +JPJapan +KEKenya +KGKyrgyzstan +KHCambodia +KIKiribati +KMComoros +KNSaint Kitts and Nevis +KPKorea (North) +KRKorea (South) +KWKuwait +KYCayman Islands +KZKazakhstan +LALaos +LCSaint Lucia +LILiechtenstein +LKSri Lanka +LRLiberia +LSLesotho +LTLithuania +LULuxembourg +LVLatvia +LYLibya +MAMorocco +MCMonaco +MDMoldova +MGMadagascar +MHMarshall Islands +MKMacedonia +MLMali +MMMyanmar +MNMongolia +MOMacau +MPNorthern Mariana Islands +MQMartinique +MRMauritania +MSMontserrat +MTMalta +MUMauritius +MVMaldives +MWMalawi +MXMexico +MYMalaysia +MZMozambique +NANamibia +NCNew Caledonia +NENiger +NFNorfolk Island +NGNigeria +NINicaragua +NLNetherlands +NONorway +NPNepal +NRNauru +NTNeutral Zone +NUNiue +NZNew Zealand (Aotearoa) +OMOman +PAPanama +PEPeru +PFFrench Polynesia +PGPapua New Guinea +PHPhilippines +PKPakistan +PLPoland +PMSt Pierre and Miquelon +PNPitcairn +PRPuerto Rico +PTPortugal +PWPalau +PYParaguay +QAQatar +REReunion +RORomania +RURussian Federation +RWRwanda +SASaudi Arabia +SBSolomon Islands +SCSeychelles +SDSudan +SESweden +SGSingapore +SHSt Helena +SISlovenia +SJSvalbard & Jan Mayen Isls +SKSlovak Republic +SLSierra Leone +SMSan Marino +SNSenegal +SOSomalia +SRSuriname +STSao Tome and Principe +SUUSSR (former) +SVEl Salvador +SYSyria +SZSwaziland +TCTurks and Caicos Islands +TDChad +TFFrench Southern Territ +TGTogo +THThailand +TJTajikistan +TKTokelau +TMTurkmenistan +TNTunisia +TOTonga +TPEast Timor +TRTurkey +TTTrinidad and Tobago +TVTuvalu +TWTaiwan +TZTanzania +UAUkraine +UGUganda +UKUnited Kingdom +UMUS Minor Outlying Isls +USUnited States +UYUruguay +UZUzbekistan +VAVatican City State +VCSt Vincent & Grenadines +VEVenezuela +VGVirgin Islands (British) +VIVirgin Islands (US) +VNViet Nam +VUVanuatu +WFWallis and Futuna Islands +WSSamoa +YEYemen +YTMayotte +YUYugoslavia +ZASouth Africa +ZMZambia +ZRZaire +ZWZimbabwe diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.cbl new file mode 100644 index 0000000..71e6b87 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.cbl @@ -0,0 +1,76 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-6. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT CountryCodeFile ASSIGN TO "Listing13-6.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD CountryCodeFile. +01 CountryCodeRec. + 88 EndOfCountryCodeFile VALUE HIGH-VALUES. + 02 CountryCodeCF PIC XX. + 02 CountryNameCF PIC X(25). + +WORKING-STORAGE SECTION. +01 CountryCodeTable. + 02 Country OCCURS 1 TO 300 TIMES + DEPENDING ON NumberOfCountries + ASCENDING KEY IS CountryCode + INDEXED BY Cidx. + 03 CountryCode PIC XX. + 03 CountryName PIC X(25). + +01 CountryCodeIn PIC XX. + 88 EndOfInput VALUE SPACES. + +01 FILLER PIC 9 VALUE ZERO. + 88 ValidCountryCode VALUE 1. + +01 NumberOfCountries PIC 999. + +PROCEDURE DIVISION. +Begin. + PERFORM LoadCountryCodeTable + PERFORM WITH TEST AFTER UNTIL EndOfInput + PERFORM WITH TEST AFTER UNTIL ValidCountryCode OR EndOfInput + DISPLAY "Enter a country code (space to stop) :- " + WITH NO ADVANCING + ACCEPT CountryCodeIn + PERFORM SearchCountryCodeTable + DISPLAY SPACES + END-PERFORM + END-PERFORM + MOVE 244 TO NumberOfCountries + MOVE "ZZ" TO CountryCodeIn + PERFORM SearchCountryCodeTable + STOP RUN. + +SearchCountryCodeTable. + SEARCH ALL Country + AT END IF NOT EndOfInput + DISPLAY "Country code " CountryCodeIn " is not valid" + END-IF + WHEN CountryCode(Cidx) = FUNCTION UPPER-CASE(CountryCodeIn) + DISPLAY CountryCodeIn " is " CountryName(Cidx) + END-SEARCH. + + +LoadCountryCodeTable. + OPEN INPUT CountryCodeFile + READ CountryCodeFile + AT END SET EndOfCountryCodeFile TO TRUE + END-READ + + PERFORM VARYING NumberOfCountries FROM 1 BY 1 UNTIL EndOfCountryCodeFile + MOVE CountryCodeRec TO Country(NumberOfCountries) + READ CountryCodeFile + AT END SET EndOfCountryCodeFile TO TRUE + END-READ + END-PERFORM + MOVE "ZZ **** FOUND ****" TO Country(244) + CLOSE CountryCodeFile. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.dat b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.dat new file mode 100644 index 0000000..6d64326 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-6.dat @@ -0,0 +1,242 @@ +ADAndorra +AEUnited Arab Emirates +AFAfghanistan +AGAntigua and Barbuda +AIAnguilla +ALAlbania +AMArmenia +ANNetherlands Antilles +AOAngola +AQAntarctica +ARArgentina +ASAmerican Samoa +ATAustria +AUAustralia +AWAruba +AZAzerbaijan +BABosnia and Herzegovina +BBBarbados +BDBangladesh +BEBelgium +BFBurkina Faso +BGBulgaria +BHBahrain +BIBurundi +BJBenin +BMBermuda +BNBrunei Darussalam +BOBolivia +BRBrazil +BSBahamas +BTBhutan +BVBouvet Island +BWBotswana +BYBelarus +BZBelize +CACanada +CCCocos (Keeling) Islands +CFCentral African Republic +CGCongo +CHSwitzerland +CIIvory Coast +CKCook Islands +CLChile +CMCameroon +CNChina +COColombia +CRCosta Rica +CSCzechoslovakia (former) +CUCuba +CVCape Verde +CXChristmas Island +CYCyprus +CZCzech Republic +DEGermany +DJDjibouti +DKDenmark +DMDominica +DODominican Republic +DZAlgeria +ECEcuador +EEEstonia +EGEgypt +EHWestern Sahara +EREritrea +ESSpain +ETEthiopia +FIFinland +FJFiji +FKFalkland Islands +FMMicronesia +FOFaroe Islands +FRFrance +FXFrance, Metropolitan +GAGabon +GBGreat Britain (UK) +GDGrenada +GEGeorgia +GFFrench Guiana +GHGhana +GIGibraltar +GLGreenland +GMGambia +GNGuinea +GPGuadeloupe +GQEquatorial Guinea +GRGreece +GSS Georgia & SSandwich +GTGuatemala +GUGuam +GWGuinea-Bissau +GYGuyana +HKHong Kong +HMHeard and McDonald Isls +HNHonduras +HRCroatia (Hrvatska) +HTHaiti +HUHungary +IDIndonesia +IEIreland +ILIsrael +INIndia +IOBritish Ind Ocean Territ +IQIraq +IRIran +ISIceland +ITItaly +JMJamaica +JOJordan +JPJapan +KEKenya +KGKyrgyzstan +KHCambodia +KIKiribati +KMComoros +KNSaint Kitts and Nevis +KPKorea (North) +KRKorea (South) +KWKuwait +KYCayman Islands +KZKazakhstan +LALaos +LCSaint Lucia +LILiechtenstein +LKSri Lanka +LRLiberia +LSLesotho +LTLithuania +LULuxembourg +LVLatvia +LYLibya +MAMorocco +MCMonaco +MDMoldova +MGMadagascar +MHMarshall Islands +MKMacedonia +MLMali +MMMyanmar +MNMongolia +MOMacau +MPNorthern Mariana Islands +MQMartinique +MRMauritania +MSMontserrat +MTMalta +MUMauritius +MVMaldives +MWMalawi +MXMexico +MYMalaysia +MZMozambique +NANamibia +NCNew Caledonia +NENiger +NFNorfolk Island +NGNigeria +NINicaragua +NLNetherlands +NONorway +NPNepal +NRNauru +NTNeutral Zone +NUNiue +NZNew Zealand (Aotearoa) +OMOman +PAPanama +PEPeru +PFFrench Polynesia +PGPapua New Guinea +PHPhilippines +PKPakistan +PLPoland +PMSt Pierre and Miquelon +PNPitcairn +PRPuerto Rico +PTPortugal +PWPalau +PYParaguay +QAQatar +REReunion +RORomania +RURussian Federation +RWRwanda +SASaudi Arabia +SBSolomon Islands +SCSeychelles +SDSudan +SESweden +SGSingapore +SHSt Helena +SISlovenia +SJSvalbard & Jan Mayen Isls +SKSlovak Republic +SLSierra Leone +SMSan Marino +SNSenegal +SOSomalia +SRSuriname +STSao Tome and Principe +SUUSSR (former) +SVEl Salvador +SYSyria +SZSwaziland +TCTurks and Caicos Islands +TDChad +TFFrench Southern Territ +TGTogo +THThailand +TJTajikistan +TKTokelau +TMTurkmenistan +TNTunisia +TOTonga +TPEast Timor +TRTurkey +TTTrinidad and Tobago +TVTuvalu +TWTaiwan +TZTanzania +UAUkraine +UGUganda +UKUnited Kingdom +UMUS Minor Outlying Isls +USUnited States +UYUruguay +UZUzbekistan +VAVatican City State +VCSt Vincent & Grenadines +VEVenezuela +VGVirgin Islands (British) +VIVirgin Islands (US) +VNViet Nam +VUVanuatu +WFWallis and Futuna Islands +WSSamoa +YEYemen +YTMayotte +YUYugoslavia +ZASouth Africa +ZMZambia +ZRZaire +ZWZimbabwe diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.cbl new file mode 100644 index 0000000..29b6db0 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.cbl @@ -0,0 +1,92 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-7. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT DocWordsFile ASSIGN TO "Listing13-7.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD DocWordsFile. +01 WordIn PIC X(20). + 88 EndOfDocWordsFile VALUE HIGH-VALUES. + +WORKING-STORAGE SECTION. +01 WordFreqTable. + 02 Word OCCURS 0 TO 2000 TIMES + DEPENDING ON NumberOfWords + INDEXED BY Widx. + 03 WordFound PIC X(20). + 03 WordFreq PIC 9(3). + +01 TopTenTable. + 02 WordTT OCCURS 11 TIMES + INDEXED BY TTidx. + 03 WordFoundTT PIC X(20) VALUE SPACES. + 03 WordFreqTT PIC 9(3) VALUE ZEROS. + +01 NumberOfWords PIC 9(4) VALUE ZERO. + +01 ReportHeader PIC X(27) VALUE " Top Ten Words In Document". + +01 SubjectHeader PIC X(29) VALUE "Pos Occurs Document Word". + +01 DetailLine. + 02 PrnPos PIC Z9. + 02 FILLER PIC X VALUE ".". + 02 PrnFreq PIC BBBBBZZ9. + 02 PrnWord PIC BBBBBX(20). + +01 Pos PIC 99. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT DocWordsFile + READ DocWordsFile + AT END SET EndOfDocWordsFile TO TRUE + END-READ + PERFORM LoadWordFreqTable UNTIL EndOfDocWordsFile + PERFORM FindTopTenWords + VARYING Widx FROM 1 BY 1 UNTIL Widx > NumberOfWords + PERFORM DisplayTopTenWords + CLOSE DocWordsFile + STOP RUN. + +LoadWordFreqTable. +* The AT END triggers when Widx is one greater than the current size of the +* table so all we have to do is extend the table and write into the new table +* element + SET Widx TO 1 + SEARCH Word + AT END ADD 1 TO NumberOfWords + MOVE 1 TO WordFreq(Widx) + MOVE FUNCTION LOWER-CASE(WordIn) TO WordFound(Widx) + WHEN FUNCTION LOWER-CASE(WordIn) = WordFound(Widx) + ADD 1 TO WordFreq(Widx) + END-SEARCH + READ DocWordsFile + AT END SET EndOfDocWordsFile TO TRUE + END-READ. + +FindTopTenWords. + PERFORM VARYING TTidx FROM 10 BY -1 UNTIL TTidx < 1 + IF WordFreq(Widx) > WordFreqTT(TTidx) + MOVE WordTT(TTidx) TO WordTT(TTidx + 1) + MOVE Word(Widx) TO WordTT(TTidx) + END-IF + END-PERFORM. + +DisplayTopTenWords. + DISPLAY ReportHeader + DISPLAY SubjectHeader + PERFORM VARYING TTidx FROM 1 BY 1 UNTIL TTIdx > 10 + SET Pos TO TTidx + MOVE Pos TO PrnPos + MOVE WordFoundTT(TTidx) TO PrnWord + MOVE WordFreqTT(TTidx) TO PrnFreq + DISPLAY DetailLine + END-PERFORM + diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.dat b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.dat new file mode 100644 index 0000000..94e2edc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-7.dat @@ -0,0 +1,2207 @@ +Web +Services +Cobol +programmer +By +Camer +Laird +Web +Services +might +Next +Big +Thing +Thweek's +CobolReport +com +explains +whprogrammers +should +know +about +Last +month +CobolReport +kicked +off +series +Internet +protocols +with +original +killer +applicati +e-mail +Now +we +turn +from +oldest +Internet +standards +one +newest +programming +interface +Suppose +want +know +how +far +from +customer's +home +one +your +warehouses +00 +just +ten +years +after +first +Web +server +wlaunched +mid-spring +that's +become +easy +do +point +Web +browser +any +popular +public +map +sites +enter +street +addresses +two +locations +and +read +answer +straight +from +display +see +your +browser +btricker +use +thresult +machine +calculations +Quite +few +programmers +have +become +adept +scraping +Web +pages +extract +useful +results +from +them +There +even +several +products +and +programming +languages +which +specialize +thchore +an +applicati +programmer +yourself +though +focused +delivering +results +your +end-users +hardly +have +time +gymnastics +involved +decoding +datfrom +complex +advertising-laden +pages +servers +generally +deliver +simply +want +invoke +subroutine +thlooks +something +like +mileage +computedifferenceaddress +address +promises +let +do +just +thWS's +different +constituencies +promises +lot +more +than +thIf +you've +read +popular +accounts +your +head +might +well +swimming +descriptions +corporate +intrigue +financial +arcanacronym +soup +ebXML? +UDDI? +copyright +politics +and +host +distractions +can +ignore +them +programmer +reduce +whole +story +these +essentials +will +become +standard +Like +e-mail +and +Web +no +one +company +will +own +Many +companies +will +claim +own +OK +ignore +these +claims +will +matter +will +right +way +solve +many +daily +programming +problems +Digital +Creations +Inc +co-founder +Paul +Everitt +puts +thway +Web +Services +WC +[World-Wide +Web +Consortium] +standard +with +infinite +Microsoft +marketing +dollars +Microsoft +won't +alone +tossing +money +around +WS's +engineering +story +compelling +thall +major +players +rushing +associate +themselves +with +There +already +dozens +technologies +distributed +computing +whmakes +better? +answer +simple +its +universality +Other +distributed +computing +approaches +already +least +modestly +successful +and +few +including +CORBDCOM +and +Jini +will +prosper +least +through +most +decade +though +neutral +way +thothers +will +never +achieve +might +work +project +programming +Cobol +an +EBCDIC-oriented +legacy +host +threquires +communicate +with +Japanese-language +Linux +palmtop +computer +With +you'll +expect +datget +through +accurately +Rival +contemporary +distributed +computing +methods +simply +don't +interoperate +smoothly +Web-oriented +standardizati +E-mail +standards +work +largely +centers +around +Internet +Engineering +Task +Force +IETF +variety +engineering +and +political +reasons +formalizati +or +will +hands +WC +needn't +worry +about +these +organizational +distinctions +or +many +details +standards +emerging +WC +only +essential +thpoint +clear +understanding +architecture +terms +three +layers +First +and +most +important +least +next +couple +years +remote +procedure +layer +Remote +procedures +an +old +technology +appearing +under +thname +by +remote +procedures +appear +under +names +XML-RPC +and +SOAP +While +XML +extensible +markup +language +key +design +needn't +understand +XML +or +even +aw +begusing +remote +procedures +Remote +procedures +allow +call +subroutines +implemented +other +hosts +though +they +were +local +your +own +machine +XML +and +other +building +blocks +take +c +all +translations +necessary +thdatappear +their +proper +form +remote +procedures +can +good +way +organize +computing +resources +withan +organizati +and +not +just +explofree +services +out +Web +By +exposing +corporate +assets +remote +procedures +even +very +large +and +complex +applications +decomposed +insequence +remote +procedure +calculations +Instead +maintaining +an +applicati +terms +complicated +inter-machine +communications +and +security +looks +like +brief +well-structured +program +built +explicsubroutine +calls +Whdo +those +subroutines +do? +During +first +phase +answer +will +much +same +CORBor +DCOM +development +they +do +whservice +providers +document +them +do +Remote +procedure +authors +thphase +not +only +provide +procedures +but +al +document +them +others +can +use +them +their +own +programs +proper +developers +build +and +use +second +layer +services +Along +with +remote +procedures +defines +introspecti +functionality +thservice +can +report +itself +Programmers +will +only +need +know +name +service +principle +and +can +ask +service +itself +all +other +informati +argument +calling +sequence +and +they +need +Finally +universal +descripti +discovery +and +integrati +UDDI +third +layer +which +aggregates +and +indexes +collections +services +thservices +and +programs +which +require +them +can +automatically +locate +each +other +Human-readable +search +engines +like +Yahoo +and +Google +index +available +content +UDDI +will +index +available +services +bad +neWhWS's +downsides? +complex +course +anything +thpowerful +hThcomplexity +means +thdoesn't +all +work +yet +Plenty +security +transactional +and +transport +particulars +remasolved--different +products +thsupposed +implement +even +low-level +SOAP +standard +simply +incompatible +few +specifics +Worse +from +perspective +CobolReport +readers +thnot +yet +available +Cobol +work +While +all +language-neutral +no +one +hyet +released +working +library +Cobol +There +hints +thone +might +appear +early +thsummer +Other +blemishes +will +al +find +their +solutions +SOAP +often +bandwidth +hog +and +XML +still +looks +balien +many +programmers +Few +will +c +though +once +they +start +creating +working +results +thend-users +applaud +And +thstep +already +being +taken +handful +early-adopting +organizations +standard +thdefines +how +Web +itself +will +become +preferred +platform +how +we'll +all +working +Web +Services +Cobol +programmer +By +Camer +Laird +Web +Services +might +Next +Big +Thing +Thweek's +CobolReport +com +explains +whprogrammers +should +know +about +Last +month +CobolReport +kicked +off +series +Internet +protocols +with +original +killer +applicati +e-mail +Now +we +turn +from +oldest +Internet +standards +one +newest +interface +Suppose +want +know +how +far +from +customer's +home +one +your +warehouses +00 +just +ten +years +after +first +Web +server +wlaunched +mid-spring +that's +become +easy +do +point +Web +browser +any +popular +public +map +sites +enter +street +addresses +two +locations +and +read +answer +straight +from +display +see +your +browser +btricker +use +thresult +machine +calculations +Quite +few +programmers +have +become +adept +scraping +Web +pages +extract +useful +results +from +There +even +several +products +and +programming +languages +which +specialize +thchore +an +applicati +programmer +yourself +though +focused +delivering +results +your +end-users +hardly +have +time +gymnastics +involved +decoding +datfrom +complex +advertising-laden +pages +servers +generally +deliver +simply +want +invoke +subroutine +thlooks +something +like +mileage +computedifferenceaddress +address +promises +let +do +just +thWS's +different +constituencies +promises +lot +more +than +thIf +you've +read +popular +accounts +your +head +might +well +swimming +descriptions +corporate +intrigue +financial +arcanacronym +soup +ebXML? +UDDI? +copyright +politics +and +host +other +distractions +ignore +them +programmer +reduce +whole +story +these +essentials +will +become +standard +Like +e-mail +and +Web +no +one +company +will +own +Many +companies +will +claim +own +OK +ignore +these +claims +will +matter +will +right +way +solve +many +daily +programming +problems +Digital +Creations +Inc +co-founder +Paul +Everitt +puts +thway +Web +Services +WC +[World-Wide +Web +Consortium] +standard +with +infinite +Microsoft +marketing +dollars +Microsoft +won't +alone +tossing +money +around +WS's +engineering +story +compelling +thall +major +players +rushing +associate +themselves +with +There +already +dozens +technologies +distributed +computing +whmakes +better? +answer +simple +its +universality +Other +distributed +computing +approaches +already +least +modestly +successful +and +few +including +CORBDCOM +and +Jini +will +prosper +least +through +most +decade +though +neutral +way +thothers +will +never +achieve +might +work +project +programming +Cobol +an +EBCDIC-oriented +legacy +host +threquires +communicate +with +Japanese-language +Linux +palmtop +computer +With +you'll +expect +datget +through +accurately +Rival +contemporary +distributed +computing +methods +simply +don't +interoperate +smoothly +Web-oriented +standardizati +E-mail +standards +work +largely +centers +around +Internet +Engineering +Task +Force +IETF +variety +engineering +and +political +reasons +formalizati +or +will +hands +WC +needn't +worry +about +these +organizational +distinctions +or +many +details +standards +emerging +WC +only +essential +thpoint +clear +understanding +architecture +terms +three +layers +First +and +most +important +least +next +couple +years +remote +procedure +layer +Remote +procedures +an +old +technology +appearing +under +thname +by +remote +procedures +appear +under +names +XML-RPC +and +SOAP +While +XML +extensible +markup +language +key +design +needn't +understand +XML +or +even +aw +begusing +remote +procedures +Remote +procedures +allow +call +subroutines +implemented +other +hosts +though +they +were +local +your +own +machine +XML +and +other +building +blocks +take +c +all +translations +necessary +thdatappear +their +proper +form +remote +procedures +good +way +organize +computing +resources +withan +organizati +and +not +just +explofree +services +out +By +exposing +corporate +assets +remote +procedures +even +very +large +and +complex +applications +decomposed +insequence +remote +procedure +calculations +Instead +maintaining +an +applicati +terms +complicated +inter-machine +communications +and +security +looks +like +brief +well-structured +program +built +explicsubroutine +calls +Whdo +those +subroutines +do? +During +first +phase +programming +answer +will +much +same +CORBor +DCOM +development +they +do +whservice +providers +document +them +do +Remote +procedure +authors +thphase +not +only +provide +procedures +but +al +document +them +others +can +use +them +their +own +programs +programming +proper +developers +build +and +use +second +layer +services +Along +with +remote +procedures +defines +introspecti +functionality +thservice +can +report +itself +Programmers +will +only +need +know +name +service +principle +and +can +ask +service +itself +all +other +informati +argument +calling +sequence +and +they +need +Finally +universal +descripti +discovery +and +integrati +UDDI +third +layer +which +aggregates +and +indexes +collections +services +thservices +and +programs +which +require +them +can +automatically +locate +each +other +Human-readable +search +engines +like +Yahoo +and +Google +index +available +content +UDDI +will +index +available +services +bad +neWhWS's +downsides? +complex +course +anything +thpowerful +hThcomplexity +means +thdoesn't +all +work +yet +Plenty +security +transactional +and +transport +particulars +remasolved--different +products +thsupposed +implement +even +low-level +SOAP +standard +simply +incompatible +few +specifics +Worse +from +perspective +CobolReport +readers +thnot +yet +available +Cobol +work +While +all +language-neutral +no +one +hyet +released +working +library +Cobol +There +hints +thone +might +appear +early +thsummer +Other +blemishes +will +al +find +their +solutions +SOAP +often +bandwidth +hog +and +XML +still +looks +balien +many +programmers +Few +will +c +though +once +they +start +creating +working +results +thend-users +applaud +And +thstep +already +being +taken +handful +early-adopting +organizations +standard +thdefines +how +Web +itself +will +become +preferred +platform +how +we'll +all +working +Web +Services +Cobol +programmer +By +Camer +Laird +Web +Services +might +Next +Big +Thing +Thweek's +CobolReport +com +explains +whprogrammers +should +know +about +Last +month +CobolReport +kicked +off +series +Internet +protocols +with +original +killer +applicati +e-mail +Now +we +turn +from +oldest +Internet +standards +one +newest +programming +interface +Suppose +want +know +how +far +from +customer's +home +one +your +warehouses +00 +just +ten +years +after +first +Web +server +wlaunched +mid-spring +that's +become +easy +do +point +Web +browser +any +popular +public +map +sites +enter +street +addresses +two +locations +and +read +answer +straight +from +display +see +your +browser +btricker +use +thresult +machine +calculations +Quite +few +programmers +have +become +adept +scraping +Web +pages +extract +useful +results +from +them +There +even +several +products +and +programming +languages +which +specialize +thchore +an +applicati +programmer +yourself +though +focused +delivering +results +your +end-users +hardly +have +time +gymnastics +involved +decoding +datfrom +complex +advertising-laden +pages +servers +generally +deliver +simply +want +invoke +subroutine +thlooks +something +like +mileage +computedifferenceaddress +address +promises +let +do +just +thWS's +different +constituencies +promises +lot +more +than +thIf +you've +read +popular +accounts +your +head +might +well +swimming +descriptions +corporate +intrigue +financial +arcanacronym +soup +ebXML? +UDDI? +copyright +politics +and +host +other +distractions +can +ignore +them +programmer +reduce +whole +story +these +essentials +will +become +standard +Like +e-mail +and +Web +no +one +company +will +own +Many +companies +will +claim +own +OK +ignore +these +claims +will +matter +will +right +way +solve +many +daily +programming +problems +Digital +Creations +Inc +co-founder +Paul +Everitt +puts +thway +Web +Services +WC +[World-Wide +Web +Consortium] +standard +with +infinite +Microsoft +marketing +dollars +Microsoft +won't +alone +tossing +money +around +WS's +engineering +story +compelling +thall +major +players +rushing +associate +themselves +with +There +already +dozens +technologies +distributed +computing +whmakes +better? +answer +simple +its +universality +Other +distributed +computing +approaches +already +least +modestly +successful +and +few +including +CORBDCOM +and +Jini +will +prosper +least +through +most +decade +though +neutral +way +thothers +will +never +achieve +might +work +project +programming +Cobol +an +EBCDIC-oriented +legacy +host +threquires +communicate +with +Japanese-language +Linux +palmtop +computer +With +you'll +expect +datget +through +accurately +Rival +contemporary +distributed +computing +methods +simply +don't +interoperate +smoothly +Web-oriented +standardizati +E-mail +standards +work +largely +centers +around +Internet +Engineering +Task +Force +IETF +variety +engineering +and +political +reasons +formalizati +or +will +hands +WC +needn't +worry +about +these +organizational +distinctions +or +many +details +standards +emerging +from +WC +only +essential +thpoint +clear +understanding +architecture +terms +three +layers +First +and +most +important +least +next +couple +years +remote +procedure +layer +Remote +procedures +an +old +technology +appearing +under +thname +by +remote +procedures +appear +under +names +XML-RPC +and +SOAP +While +XML +extensible +markup +language +key +design +needn't +understand +XML +or +even +aw +begusing +remote +procedures +Remote +procedures +allow +call +subroutines +implemented +other +hosts +though +they +were +local +your +own +machine +XML +and +other +building +blocks +take +c +all +translations +necessary +thdatappear +their +proper +form +remote +procedures +can +good +way +organize +computing +resources +withan +organizati +and +not +just +explofree +services +out +Web +By +exposing +corporate +assets +remote +procedures +even +very +large +and +complex +applications +decomposed +insequence +remote +procedure +calculations +Instead +maintaining +an +applicati +terms +complicated +inter-machine +communications +and +security +looks +like +brief +well-structured +program +built +explicsubroutine +calls +Whdo +those +subroutines +do? +During +first +phase +programming +answer +will +much +same +CORBor +DCOM +development +they +do +whservice +providers +document +them +do +Remote +procedure +authors +thphase +not +only +provide +procedures +but +al +document +them +others +can +use +them +their +own +programs +programming +proper +developers +build +and +use +second +layer +services +Along +with +remote +procedures +defines +introspecti +functionality +thservice +can +report +itself +Programmers +will +only +need +know +name +service +principle +and +can +ask +service +itself +all +other +informati +argument +calling +sequence +and +they +need +Finally +universal +descripti +discovery +and +integrati +UDDI +third +layer +which +aggregates +and +indexes +collections +services +thservices +and +programs +which +require +them +can +automatically +locate +each +other +Human-readable +search +engines +like +Yahoo +and +Google +index +available +content +UDDI +will +index +available +services +bad +neWhWS's +downsides? +complex +course +anything +thpowerful +hThcomplexity +means +thdoesn't +all +work +yet +Plenty +security +transactional +and +transport +particulars +remasolved--different +products +thsupposed +implement +even +low-level +SOAP +standard +simply +incompatible +few +specifics +Worse +from +perspective +CobolReport +readers +thnot +yet +available +Cobol +work +While +all +language-neutral +no +one +hyet +released +working +library +Cobol +There +hints +thone +might +appear +early +thsummer +Other +blemishes +will +al +find +their +solutions +SOAP +often +bandwidth +hog +and +XML +still +looks +balien +many +programmers +Few +will +c +though +once +they +start +creating +working +results +thend-users +applaud +And +thstep +already +being +taken +handful +early-adopting +organizations +standard +thdefines +how +Web +itself +will +become +preferred +platform +how +we'll +all +working \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Listing13-8.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-8.cbl new file mode 100644 index 0000000..41c352c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Listing13-8.cbl @@ -0,0 +1,49 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing13-8. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 NumberArray. + 02 Num PIC 99 OCCURS 10 TIMES + INDEXED BY Nidx. + +01 FirstZeroPos PIC 99 VALUE ZERO. + 88 NoZeros VALUE 0. + +01 SecondZeroPos PIC 99 VALUE ZERO. + 88 OneZero VALUE 0. + +01 ValuesBetweenZeros PIC 9 VALUE ZERO. + 88 NoneBetweenZeros VALUE 0. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter 10 two digit numbers " + PERFORM VARYING Nidx FROM 1 BY 1 UNTIL Nidx > 10 + DISPLAY "Enter number - " SPACE WITH NO ADVANCING + ACCEPT Num(Nidx) + END-PERFORM + + SET Nidx TO 1 + SEARCH Num + AT END SET NoZeros TO TRUE + WHEN Num(Nidx) = ZERO + SET FirstZeroPos TO Nidx + SET Nidx UP BY 1 + SEARCH Num + AT END SET OneZero TO TRUE + WHEN Num(Nidx) = ZERO + SET SecondZeroPos TO Nidx + COMPUTE ValuesBetweenZeros = (SecondZeroPos - 1) - FirstZeroPos + END-SEARCH + END-SEARCH + + EVALUATE TRUE + WHEN NoZeros DISPLAY "No zeros found" + WHEN OneZero DISPLAY "Only one zero found" + WHEN NoneBetweenZeros DISPLAY "No numbers between the two zeros" + WHEN FUNCTION REM(ValuesBetweenZeros, 2)= ZERO + DISPLAY "Even number of non-zeros between zeros" + WHEN OTHER DISPLAY "Odd number of non-zeros between zeros" + END-EVALUATE + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch13/Lsiting12-6.cbl b/978-1-4302-6253-4_Coughlan_Ch13/Lsiting12-6.cbl new file mode 100644 index 0000000..835fadc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch13/Lsiting12-6.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Debug4. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counter1 PIC 99. +01 InNumber PIC 9. +01 Result PIC 999. + + +PROCEDURE DIVISION. +Begin. + DISPLAY "DEBUG4. Sometimes I just don't stop" + DISPLAY "Enter number 0-9 :--> " WITH NO ADVANCING + ACCEPT InNumber + PERFORM EternalLooping + VARYING Counter1 FROM 1 BY 1 + UNTIL Counter1 GREATER THAN 10 + + DISPLAY "Back in main paragraph now" + STOP RUN. + +EternalLooping. + COMPUTE Result = InNumber * Counter1 + IF Result > 60 + MOVE 99 TO Counter1 + END-IF + DISPLAY "Counter1 = " Counter1 " Result = " Result. diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-1.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-1.cbl new file mode 100644 index 0000000..06f0a67 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-1.cbl @@ -0,0 +1,74 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-1. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT WorkFile ASSIGN TO "WORK.TMP". + + SELECT BillableServicesFile ASSIGN TO "Listing14-1.dat" + ORGANIZATION LINE SEQUENTIAL. + + SELECT SortedBillablesFile ASSIGN TO "Listing14-1.Srt" + ORGANIZATION LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. + +FD BillableServicesFile. +01 SalesRec PIC X(17). + +SD WorkFile. +01 WorkRec. + 02 SubscriberId-WF PIC 9(10). + 02 FILLER PIC X(7). + +FD SortedBillablesFile. +01 SubscriberRec. + 88 EndOfBillablesFile VALUE HIGH-VALUES. + 02 SubscriberId PIC 9(10). + 02 ServiceType PIC 9. + 02 ServiceCost PIC 9(4)V99. + +WORKING-STORAGE SECTION. +01 SubscriberTotal PIC 9(5)V99. + +01 ReportHeader PIC X(33) VALUE "Universal Telecoms Monthly Report". + +01 SubjectHeader PIC X(31) VALUE "SubscriberId BillableValue". + +01 SubscriberLine. + 02 PrnSubscriberId PIC 9(10). + 02 FILLER PIC X(8) VALUE SPACES. + 02 PrnSubscriberTotal PIC $$$,$$9.99. + +01 PrevSubscriberId PIC 9(10). + + + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY SubscriberId-WF + USING BillableServicesFile + GIVING SortedBillablesFile + DISPLAY ReportHeader + DISPLAY SubjectHeader + OPEN INPUT SortedBillablesFile + READ SortedBillablesFile + AT END SET EndOfBillablesFile TO TRUE + END-READ + PERFORM UNTIL EndOfBillablesFile + MOVE SubscriberId TO PrevSubscriberId, PrnSubscriberId + MOVE ZEROS TO SubscriberTotal + PERFORM UNTIL SubscriberId NOT EQUAL TO PrevSubscriberId + ADD ServiceCost TO SubscriberTotal + READ SortedBillablesFile + AT END SET EndOfBillablesFile TO TRUE + END-READ + END-PERFORM + MOVE SubscriberTotal TO PrnSubscriberTotal + DISPLAY SubscriberLine + END-PERFORM + CLOSE SortedBillablesFile + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.Dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.Dat new file mode 100644 index 0000000..97089af --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.Dat @@ -0,0 +1,380 @@ +JOHN CONKLIN IRELAND Lorem ipsum dolor sit amet Comment 1 +RICARDO SMITH NETHERLANDS Lorem ipsum dolor sit amet Comment 2 +DAVID MINOGUE ENGLAND Lorem ipsum dolor sit amet Comment 3 +SEAN FLYNN USA Lorem ipsum dolor sit amet Comment 4 +FURQAN ALI KHAN ENGLAND Lorem ipsum dolor sit amet Comment 5 +PATRICK KILLEEN WALES Lorem ipsum dolor sit amet Comment 6 +PETER CHEN GERMANY Lorem ipsum dolor sit amet Comment 7 +NICK NOVAK GERMANY Lorem ipsum dolor sit amet Comment 8 +DUNCAN SHARPLES USA Lorem ipsum dolor sit amet Comment 9 +OONAGH O'KEEFFE NETHERLANDS Lorem ipsum dolor sit amet Comment 10 +AZMAN USA Lorem ipsum dolor sit amet Comment 11 +JOE DIVOLA GERMANY Lorem ipsum dolor sit amet Comment 12 +CARLOS HENDERSON FRANCE Lorem ipsum dolor sit amet Comment 13 +CAROLYN JANE GILLIS IRELAND Lorem ipsum dolor sit amet Comment 14 +NILESH KUMAR HOLLAND Lorem ipsum dolor sit amet Comment 15 +EPAFRADITUS SPAIN Lorem ipsum dolor sit amet Comment 16 +ANTHONY NETHERLANDS Lorem ipsum dolor sit amet Comment 17 +CLAIRE USA Lorem ipsum dolor sit amet Comment 18 +JEROLD REID SPAIN Lorem ipsum dolor sit amet Comment 19 +DEMA ABU GHAZALEH DOMINICAN REPUBLIC Lorem ipsum dolor sit amet Comment 20 +BARTÓK-CSATÓ GYÖRGY ITALY Lorem ipsum dolor sit amet Comment 21 +MARIAN MOORE HOLLAND Lorem ipsum dolor sit amet Comment 22 +KENNETH MONAGHAN PORTUGAL Lorem ipsum dolor sit amet Comment 23 +BREEGE DOHERTY BRAZIL Lorem ipsum dolor sit amet Comment 24 +KEVIN SMITH SOUTH AFRICA Lorem ipsum dolor sit amet Comment 25 +FRANK DEUTSCH IRELAND Lorem ipsum dolor sit amet Comment 26 +FRANK J GOMEZ ESTONIA Lorem ipsum dolor sit amet Comment 27 +TIM LAUSTER INDIA Lorem ipsum dolor sit amet Comment 28 +ADRIAN MANGAN CANADA Lorem ipsum dolor sit amet Comment 29 +RICHARD MEEHAN NEW ZEALAND Lorem ipsum dolor sit amet Comment 30 +JOCHEN SAUER AUSTRALIA Lorem ipsum dolor sit amet Comment 31 +STEWART NATHAN JAPAN Lorem ipsum dolor sit amet Comment 32 +MICHAEL HEALY IRELAND Lorem ipsum dolor sit amet Comment 33 +BORIS MARANETS NETHERLANDS Lorem ipsum dolor sit amet Comment 34 +HELEN HAMILL ENGLAND Lorem ipsum dolor sit amet Comment 35 +ALAN WARD USA Lorem ipsum dolor sit amet Comment 36 +CHRISTINA SCANNELL ENGLAND Lorem ipsum dolor sit amet Comment 37 +ROOPESH SHARMA WALES Lorem ipsum dolor sit amet Comment 38 +ERSIN GERMANY Lorem ipsum dolor sit amet Comment 39 +SHARA HAND GERMANY Lorem ipsum dolor sit amet Comment 40 +JOHN KILBANE USA Lorem ipsum dolor sit amet Comment 41 +YOGESH P. ODHWANI DOMINICAN REPUBLIC Lorem ipsum dolor sit amet Comment 42 +PRASANNA USA Lorem ipsum dolor sit amet Comment 43 +CROSSLEY GERMANY Lorem ipsum dolor sit amet Comment 44 +CRUZ, HERBERT DE SOUFRANCE Lorem ipsum dolor sit amet Comment 45 +NOIRIN NI LAOGHAIRE IRELAND Lorem ipsum dolor sit amet Comment 46 +ÓSCAR GÓMEZ ALIENDE HOLLAND Lorem ipsum dolor sit amet Comment 47 +SYED DANISH MASHADI SPAIN Lorem ipsum dolor sit amet Comment 48 +GUCKIAN GERARD NETHERLANDS Lorem ipsum dolor sit amet Comment 49 +GODWIN. C. USIFO USA Lorem ipsum dolor sit amet Comment 50 +BARRY RYAN SPAIN Lorem ipsum dolor sit amet Comment 51 +TARWIREYI PAUL DOMINICAN REPUBLIC Lorem ipsum dolor sit amet Comment 52 +DON ITALY Lorem ipsum dolor sit amet Comment 53 +TORSTEN LANG HOLLAND Lorem ipsum dolor sit amet Comment 54 +SCOTT RUDY PORTUGAL Lorem ipsum dolor sit amet Comment 55 +MICHELLE CHARLIE BRAZIL Lorem ipsum dolor sit amet Comment 56 +PASCAL VAN HATTUM SOUTH AFRICA Lorem ipsum dolor sit amet Comment 57 +SERHIY BABYAK IRELAND Lorem ipsum dolor sit amet Comment 58 +GURUPRASAD GARUDACHEESTONIA Lorem ipsum dolor sit amet Comment 59 +GUSTAVO ARANA SERRA INDIA Lorem ipsum dolor sit amet Comment 60 +JANE ADUANA CANADA Lorem ipsum dolor sit amet Comment 61 +MICHEAL MC NAMA NEW ZEALAND Lorem ipsum dolor sit amet Comment 62 +CARRIE AUSTRALIA Lorem ipsum dolor sit amet Comment 63 +CESAR ESTRADA JAPAN Lorem ipsum dolor sit amet Comment 64 +DINH TO USA Lorem ipsum dolor sit amet Comment 65 +MICHELLE NETHERLANDS Lorem ipsum dolor sit amet Comment 66 +IGNACIO USA Lorem ipsum dolor sit amet Comment 67 +YOUNGMI KIM GERMANY Lorem ipsum dolor sit amet Comment 68 +ANNETTE CURTIN FRANCE Lorem ipsum dolor sit amet Comment 69 +NIALL MALONEY IRELAND Lorem ipsum dolor sit amet Comment 70 +TIM BRYANT HOLLAND Lorem ipsum dolor sit amet Comment 71 +TODD SCHWARTZ SPAIN Lorem ipsum dolor sit amet Comment 72 +LI.KOKWAH NETHERLANDS Lorem ipsum dolor sit amet Comment 73 +RITU GUPTA USA Lorem ipsum dolor sit amet Comment 74 +NIGEL ANDERTON. SPAIN Lorem ipsum dolor sit amet Comment 75 +JANE ADUANA NETHERLANDS Lorem ipsum dolor sit amet Comment 76 +JUNIAWAN SETYO ITALY Lorem ipsum dolor sit amet Comment 77 +LEWIS LOIZOU HOLLAND Lorem ipsum dolor sit amet Comment 78 +VIKAS AGGARWAL IRELAND Lorem ipsum dolor sit amet Comment 89 +RUMAN HAKEEM NETHERLANDS Lorem ipsum dolor sit amet Comment 90 +JOHN AUSTIN ENGLAND Lorem ipsum dolor sit amet Comment 91 +IKE EFOBI. USA Lorem ipsum dolor sit amet Comment 92 +BUNTU FAKU ENGLAND Lorem ipsum dolor sit amet Comment 93 +SYED SADAF SHAH WALES Lorem ipsum dolor sit amet Comment 94 +PAT PALIE GERMANY Lorem ipsum dolor sit amet Comment 95 +ARUN GERMANY Lorem ipsum dolor sit amet Comment 96 +DENISE SIROIS USA Lorem ipsum dolor sit amet Comment 97 +JENNI DORSEY NETHERLANDS Lorem ipsum dolor sit amet Comment 98 +CAROL CROTTY GERMANY Lorem ipsum dolor sit amet Comment 100 +GONZALES RAMIL FRANCE Lorem ipsum dolor sit amet Comment 101 +TIMMY WATTS IRELAND Lorem ipsum dolor sit amet Comment 102 +PAT H HOLLAND Lorem ipsum dolor sit amet Comment 103 +ETTIENNE PRETORIUS SPAIN Lorem ipsum dolor sit amet Comment 104 +TODD ANTHONY NETHERLANDS Lorem ipsum dolor sit amet Comment 105 +OMARK MENDEZ USA Lorem ipsum dolor sit amet Comment 106 +CHARBEL MADY SPAIN Lorem ipsum dolor sit amet Comment 107 +JORGE MOYA DELGADO NETHERLANDS Lorem ipsum dolor sit amet Comment 108 +DAVID MORR ITALY Lorem ipsum dolor sit amet Comment 109 +BRIAN CONNOLLY USA Lorem ipsum dolor sit amet Comment 110 +WILLOW FUNG NETHERLANDS Lorem ipsum dolor sit amet Comment 111 +PETER RAMPERSAD USA Lorem ipsum dolor sit amet Comment 112 +DAVE TOBIN GERMANY Lorem ipsum dolor sit amet Comment 113 +ALMA DELIA CHAVEZ FRANCE Lorem ipsum dolor sit amet Comment 114 +DAFYDD REES IRELAND Lorem ipsum dolor sit amet Comment 115 +JESS HOLLAND Lorem ipsum dolor sit amet Comment 116 +BRAULIO PEÑA MÉNDEZ NETHERLANDS Lorem ipsum dolor sit amet Comment 118 +RODDY VEITCH USA Lorem ipsum dolor sit amet Comment 119 +RIZWAN UL HAQ SPAIN Lorem ipsum dolor sit amet Comment 120 +DAREK NETHERLANDS Lorem ipsum dolor sit amet Comment 121 +MUYIWA AJIRELOJA ITALY Lorem ipsum dolor sit amet Comment 122 +PETER LIMBU HOLLAND Lorem ipsum dolor sit amet Comment 123 +ADALBERTO JORGE A. MIRELAND Lorem ipsum dolor sit amet Comment 134 +DENNIS ALLEN NETHERLANDS Lorem ipsum dolor sit amet Comment 135 +DANIEL ARMANDO VEGA ENGLAND Lorem ipsum dolor sit amet Comment 136 +EPAFRADITUS USA Lorem ipsum dolor sit amet Comment 137 +TERRY LAWLOR ENGLAND Lorem ipsum dolor sit amet Comment 138 +DAVID GIARDINA WALES Lorem ipsum dolor sit amet Comment 139 +MICHAEL E OKAFOR GERMANY Lorem ipsum dolor sit amet Comment 140 +BRETT BOYLE GERMANY Lorem ipsum dolor sit amet Comment 141 +EMANUEL USA Lorem ipsum dolor sit amet Comment 142 +ELVIS COSTELLO-PRESLNETHERLANDS Lorem ipsum dolor sit amet Comment 143 +JITENDRAP PATEL USA Lorem ipsum dolor sit amet Comment 144 +SERHIY BABYAK GERMANY Lorem ipsum dolor sit amet Comment 145 +BORGUET HENRI FRANCE Lorem ipsum dolor sit amet Comment 146 +J. STEPHENSON EARNEYIRELAND Lorem ipsum dolor sit amet Comment 147 +MARKOS LOH WENI HOLLAND Lorem ipsum dolor sit amet Comment 148 +JASON BELL SPAIN Lorem ipsum dolor sit amet Comment 149 +JIM PRICE NETHERLANDS Lorem ipsum dolor sit amet Comment 150 +ZHU MING USA Lorem ipsum dolor sit amet Comment 151 +FJORDA SHPORTA SPAIN Lorem ipsum dolor sit amet Comment 152 +PETER WESTIN NETHERLANDS Lorem ipsum dolor sit amet Comment 153 +DHIRAJ SHETTY ITALY Lorem ipsum dolor sit amet Comment 154 +STEPHEN LAVAN IRELAND Lorem ipsum dolor sit amet Comment 155 +HOUSTON FARROW NETHERLANDS Lorem ipsum dolor sit amet Comment 156 +MIKE'S TEST ENGLAND Lorem ipsum dolor sit amet Comment 157 +UWE ZINNDORF USA Lorem ipsum dolor sit amet Comment 158 +JORGE GASCÓN ENGLAND Lorem ipsum dolor sit amet Comment 159 +THOMAS O DOHERTY WALES Lorem ipsum dolor sit amet Comment 160 +OLIVIA TREACY GERMANY Lorem ipsum dolor sit amet Comment 161 +JEFF MYERS GERMANY Lorem ipsum dolor sit amet Comment 162 +CAITRIONA KEATING USA Lorem ipsum dolor sit amet Comment 163 +ERICK ALVAREZ NETHERLANDS Lorem ipsum dolor sit amet Comment 164 +RICHARD MEEHAN USA Lorem ipsum dolor sit amet Comment 165 +MARKOS LOH WENI GERMANY Lorem ipsum dolor sit amet Comment 166 +WILLIAM HOUSTON FRANCE Lorem ipsum dolor sit amet Comment 167 +PHIL WALDRON IRELAND Lorem ipsum dolor sit amet Comment 168 +MUSHIR AHMED B HOLLAND Lorem ipsum dolor sit amet Comment 169 +MIRZA VILLAYAT SPAIN Lorem ipsum dolor sit amet Comment 170 +GUCKIAN GERARD NETHERLANDS Lorem ipsum dolor sit amet Comment 171 +TSIOTAS JOHN USA Lorem ipsum dolor sit amet Comment 172 +SEAN FARRELL SPAIN Lorem ipsum dolor sit amet Comment 173 +SUE LYNCH NETHERLANDS Lorem ipsum dolor sit amet Comment 174 +JEFF REIMER ITALY Lorem ipsum dolor sit amet Comment 175 +HADI LALANI HOLLAND Lorem ipsum dolor sit amet Comment 176 +DAGO IRELAND Lorem ipsum dolor sit amet Comment 187 +DALE CHOCK NETHERLANDS Lorem ipsum dolor sit amet Comment 188 +CHRIS ENGLAND Lorem ipsum dolor sit amet Comment 189 +SHAHID MAJID USA Lorem ipsum dolor sit amet Comment 190 +DAMIEN GILMORE ENGLAND Lorem ipsum dolor sit amet Comment 191 +AINE NIC CONMARA WALES Lorem ipsum dolor sit amet Comment 192 +RAMANAN RV GERMANY Lorem ipsum dolor sit amet Comment 193 +ROY D BLENDELL GERMANY Lorem ipsum dolor sit amet Comment 194 +BRIAN TOMKINS USA Lorem ipsum dolor sit amet Comment 195 +VALEMBOIS STEVEN NETHERLANDS Lorem ipsum dolor sit amet Comment 196 +JACQUES VAN DER LOO USA Lorem ipsum dolor sit amet Comment 197 +VIKRAM BISHT GERMANY Lorem ipsum dolor sit amet Comment 198 +GRANT CHRISTIANSEN FRANCE Lorem ipsum dolor sit amet Comment 199 +ZHANG YONG CHENG IRELAND Lorem ipsum dolor sit amet Comment 200 +IAIN SHEPHERD HOLLAND Lorem ipsum dolor sit amet Comment 201 +TREASA DAVITT SPAIN Lorem ipsum dolor sit amet Comment 202 +FRANK DEANE NETHERLANDS Lorem ipsum dolor sit amet Comment 203 +JOANNE O FLAHERTY USA Lorem ipsum dolor sit amet Comment 204 +CHARLIE L. STEWART, SPAIN Lorem ipsum dolor sit amet Comment 205 +MUHAMMED SABIR JAHANNETHERLANDS Lorem ipsum dolor sit amet Comment 206 +UZMA MIAN ITALY Lorem ipsum dolor sit amet Comment 207 +CHOK ING CHYE HOLLAND Lorem ipsum dolor sit amet Comment 208 +STEPHEN L. BURKES USA Lorem ipsum dolor sit amet Comment 219 +CHABOT NETHERLANDS Lorem ipsum dolor sit amet Comment 220 +PRISCILLA WAOLSH USA Lorem ipsum dolor sit amet Comment 221 +KIERAN LONG GERMANY Lorem ipsum dolor sit amet Comment 222 +CARL SELL FRANCE Lorem ipsum dolor sit amet Comment 223 +MICHELLE CHARLIE IRELAND Lorem ipsum dolor sit amet Comment 224 +MARIA C.SEGARRA HOLLAND Lorem ipsum dolor sit amet Comment 225 +BRYAN PATRICK DUNNE SPAIN Lorem ipsum dolor sit amet Comment 226 +NEFTALI RIVERA NETHERLANDS Lorem ipsum dolor sit amet Comment 227 +SABRINA BEGGAR USA Lorem ipsum dolor sit amet Comment 228 +MAUREEN FERRER SPAIN Lorem ipsum dolor sit amet Comment 229 +GRAINNE HERRAGHTY NETHERLANDS Lorem ipsum dolor sit amet Comment 230 +DECLAN TORMEY ITALY Lorem ipsum dolor sit amet Comment 231 +IRINA VATASHKA HOLLAND Lorem ipsum dolor sit amet Comment 232 +PRASANNA IRELAND Lorem ipsum dolor sit amet Comment 243 +TENNYSON ACCETTI NETHERLANDS Lorem ipsum dolor sit amet Comment 244 +JAHAN ZEB ENGLAND Lorem ipsum dolor sit amet Comment 245 +ELIZABETH WALKER USA Lorem ipsum dolor sit amet Comment 246 +MIKE BUCKLEY ENGLAND Lorem ipsum dolor sit amet Comment 247 +MIKE SEBATI WALES Lorem ipsum dolor sit amet Comment 248 +OZILDO ALVES BATISTAGERMANY Lorem ipsum dolor sit amet Comment 249 +JO ANN GERMANY Lorem ipsum dolor sit amet Comment 250 +GAJENDRAN USA Lorem ipsum dolor sit amet Comment 251 +MARILYN BLASIUS NETHERLANDS Lorem ipsum dolor sit amet Comment 252 +DANIEL ARMANDO VEGA USA Lorem ipsum dolor sit amet Comment 253 +RICHARD LEAHY GERMANY Lorem ipsum dolor sit amet Comment 254 +CEM YONDEM FRANCE Lorem ipsum dolor sit amet Comment 255 +JOHN COLLINS IRELAND Lorem ipsum dolor sit amet Comment 256 +MANDAR VENGURLEKAR HOLLAND Lorem ipsum dolor sit amet Comment 257 +RAMESH.KODIGANTI SPAIN Lorem ipsum dolor sit amet Comment 258 +STEVEN WEBB NETHERLANDS Lorem ipsum dolor sit amet Comment 259 +JIM USA Lorem ipsum dolor sit amet Comment 260 +CATHERINE O'MEARA SPAIN Lorem ipsum dolor sit amet Comment 261 +RONI HAWE NETHERLANDS Lorem ipsum dolor sit amet Comment 262 +JOHN ERICSSON ITALY Lorem ipsum dolor sit amet Comment 263 +P.SCULLY USA Lorem ipsum dolor sit amet Comment 264 +NICOLAS HUTIN NETHERLANDS Lorem ipsum dolor sit amet Comment 265 +CONSTANCE ANNEGARN USA Lorem ipsum dolor sit amet Comment 266 +EIMHEAR O' BRIEN GERMANY Lorem ipsum dolor sit amet Comment 267 +AMIT JAIN FRANCE Lorem ipsum dolor sit amet Comment 268 +ANSAR BASHA IRELAND Lorem ipsum dolor sit amet Comment 269 +CIARAN DUFFY HOLLAND Lorem ipsum dolor sit amet Comment 270 +MICHAEL O. HOGAN SPAIN Lorem ipsum dolor sit amet Comment 271 +ITZURI OVIEDO NETHERLANDS Lorem ipsum dolor sit amet Comment 272 +JORGE ZUBIA USA Lorem ipsum dolor sit amet Comment 273 +JORIZ D. CHIONG SPAIN Lorem ipsum dolor sit amet Comment 274 +JOS NETHERLANDS Lorem ipsum dolor sit amet Comment 275 +LUCY SERRAO ITALY Lorem ipsum dolor sit amet Comment 276 +TONY O'CONNOR HOLLAND Lorem ipsum dolor sit amet Comment 277 +SAJJAD MUNIR IRELAND Lorem ipsum dolor sit amet Comment 288 +RAFAEL REYES NETHERLANDS Lorem ipsum dolor sit amet Comment 289 +K.M.SRIVASTAVA ENGLAND Lorem ipsum dolor sit amet Comment 290 +TONY EGAN USA Lorem ipsum dolor sit amet Comment 291 +RICHARD BUCKLEY ENGLAND Lorem ipsum dolor sit amet Comment 292 +PARIDE DESIMONE WALES Lorem ipsum dolor sit amet Comment 293 +GERI DARR GERMANY Lorem ipsum dolor sit amet Comment 294 +WORGIE FLORES GERMANY Lorem ipsum dolor sit amet Comment 295 +RICKY M USA Lorem ipsum dolor sit amet Comment 296 +MARIO CABEZAS NETHERLANDS Lorem ipsum dolor sit amet Comment 297 +DAVE HICKEY USA Lorem ipsum dolor sit amet Comment 298 +ORLA LELAND GERMANY Lorem ipsum dolor sit amet Comment 299 +JAIME HEUREAUX FRANCE Lorem ipsum dolor sit amet Comment 300 +SHARON MURPHY IRELAND Lorem ipsum dolor sit amet Comment 301 +CHERYL BURROWS HOLLAND Lorem ipsum dolor sit amet Comment 302 +SIMON CUMMINGS SPAIN Lorem ipsum dolor sit amet Comment 303 +ART SAUCEDO NETHERLANDS Lorem ipsum dolor sit amet Comment 304 +JOHN O'GARA USA Lorem ipsum dolor sit amet Comment 305 +VINOD K.REDDY SPAIN Lorem ipsum dolor sit amet Comment 306 +ALBERT NETHERLANDS Lorem ipsum dolor sit amet Comment 307 +TANG YUNCHUAN ITALY Lorem ipsum dolor sit amet Comment 308 +DHARMALINGAM IRELAND Lorem ipsum dolor sit amet Comment 309 +MARINA LORA KABANAS NETHERLANDS Lorem ipsum dolor sit amet Comment 310 +STARLA HARRIS ENGLAND Lorem ipsum dolor sit amet Comment 311 +ASHISH USA Lorem ipsum dolor sit amet Comment 312 +SEAMUS RYAN ENGLAND Lorem ipsum dolor sit amet Comment 313 +JOHN KOUTROMANOS WALES Lorem ipsum dolor sit amet Comment 314 +LYLE F. WILSON GERMANY Lorem ipsum dolor sit amet Comment 315 +NIALL MERRIGAN GERMANY Lorem ipsum dolor sit amet Comment 316 +TOM BRETT USA Lorem ipsum dolor sit amet Comment 317 +MICHAEL BRENDAN FENNNETHERLANDS Lorem ipsum dolor sit amet Comment 318 +JUST TESTING USA Lorem ipsum dolor sit amet Comment 319 +SYLVIE PHILIPPPART GERMANY Lorem ipsum dolor sit amet Comment 320 +JUAN ROJAS FRANCE Lorem ipsum dolor sit amet Comment 321 +BARRY CURTIS IRELAND Lorem ipsum dolor sit amet Comment 322 +JAGADISH HOLLAND Lorem ipsum dolor sit amet Comment 323 +VIVEKANANDAN SPAIN Lorem ipsum dolor sit amet Comment 324 +NIRMAL KUMAR NETHERLANDS Lorem ipsum dolor sit amet Comment 325 +RAMESH KANDUKURI USA Lorem ipsum dolor sit amet Comment 326 +NADEEM A. AZIZ SPAIN Lorem ipsum dolor sit amet Comment 327 +MARK WOGAN NETHERLANDS Lorem ipsum dolor sit amet Comment 328 +DANNY PAREDES ITALY Lorem ipsum dolor sit amet Comment 329 +ANDREA BARELA HOLLAND Lorem ipsum dolor sit amet Comment 330 +JULIA IRELAND Lorem ipsum dolor sit amet Comment 341 +DVSRPRASAD NETHERLANDS Lorem ipsum dolor sit amet Comment 342 +PAUL GOULET ENGLAND Lorem ipsum dolor sit amet Comment 343 +NILESH J. PALVE USA Lorem ipsum dolor sit amet Comment 344 +DIANA DRAGOMIR ENGLAND Lorem ipsum dolor sit amet Comment 345 +EOGHAN O SULLIVAN WALES Lorem ipsum dolor sit amet Comment 346 +E DOE-BRUCE GERMANY Lorem ipsum dolor sit amet Comment 347 +CHRISTINE GERMANY Lorem ipsum dolor sit amet Comment 348 +CIARA FOLEY USA Lorem ipsum dolor sit amet Comment 349 +VIVEK DEWAN NETHERLANDS Lorem ipsum dolor sit amet Comment 350 +MARTIN MACMILLAN USA Lorem ipsum dolor sit amet Comment 351 +MARTIN ROBINSHAW GERMANY Lorem ipsum dolor sit amet Comment 352 +CHRISTINA SCANNELL FRANCE Lorem ipsum dolor sit amet Comment 353 +TURGUTCAPAR IRELAND Lorem ipsum dolor sit amet Comment 354 +PAUL STRICKLAND HOLLAND Lorem ipsum dolor sit amet Comment 355 +ERIC MCDONOGH SPAIN Lorem ipsum dolor sit amet Comment 356 +ERIC SWANZY-ESSIEN NETHERLANDS Lorem ipsum dolor sit amet Comment 357 +GOPALKRISHNAN IYER USA Lorem ipsum dolor sit amet Comment 358 +CRAIG HOOVER SPAIN Lorem ipsum dolor sit amet Comment 359 +ANDY C. ISON NETHERLANDS Lorem ipsum dolor sit amet Comment 360 +ROBERT ITALY Lorem ipsum dolor sit amet Comment 361 +AMIT SHARMA HOLLAND Lorem ipsum dolor sit amet Comment 362 +KARLO OROPESA USA Lorem ipsum dolor sit amet Comment 373 +KURT JONES NETHERLANDS Lorem ipsum dolor sit amet Comment 374 +JOHN FITZGERALD USA Lorem ipsum dolor sit amet Comment 375 +KOSTANDIN DIMITRIJEVGERMANY Lorem ipsum dolor sit amet Comment 376 +SANJEEV JUNEJA FRANCE Lorem ipsum dolor sit amet Comment 377 +REEKMANS IVE IRELAND Lorem ipsum dolor sit amet Comment 378 +ADAM FIUK HOLLAND Lorem ipsum dolor sit amet Comment 379 +MHICI NI MHURCHU SPAIN Lorem ipsum dolor sit amet Comment 380 +TONY KIM NETHERLANDS Lorem ipsum dolor sit amet Comment 381 +PETER CHEN USA Lorem ipsum dolor sit amet Comment 382 +DIBOELTER SPAIN Lorem ipsum dolor sit amet Comment 383 +DANIEL REIS NETHERLANDS Lorem ipsum dolor sit amet Comment 384 +DANNY LANE ITALY Lorem ipsum dolor sit amet Comment 385 +ROY TONKIN HOLLAND Lorem ipsum dolor sit amet Comment 386 +DIPESH PATEL PORTUGAL Lorem ipsum dolor sit amet Comment 387 +YVON VERRIER IRELAND Lorem ipsum dolor sit amet Comment 397 +EDUARD KUL NETHERLANDS Lorem ipsum dolor sit amet Comment 398 +GARY MORDUE ENGLAND Lorem ipsum dolor sit amet Comment 399 +JASON BROOKS USA Lorem ipsum dolor sit amet Comment 400 +SYED IMRAN TIRMAZI ENGLAND Lorem ipsum dolor sit amet Comment 401 +JORGE MOYA DELGADO WALES Lorem ipsum dolor sit amet Comment 402 +FDFD GERMANY Lorem ipsum dolor sit amet Comment 403 +SATISH KUMAR GERMANY Lorem ipsum dolor sit amet Comment 404 +PACHOT USA Lorem ipsum dolor sit amet Comment 405 +KASHIF HUSSAIN NETHERLANDS Lorem ipsum dolor sit amet Comment 406 +NECMI YEDIYILDIZ USA Lorem ipsum dolor sit amet Comment 407 +CSY GERMANY Lorem ipsum dolor sit amet Comment 408 +ANTHONY RIZAKOS FRANCE Lorem ipsum dolor sit amet Comment 409 +ANGEL STO.NINO IRELAND Lorem ipsum dolor sit amet Comment 410 +LAURENCE BEGLEY HOLLAND Lorem ipsum dolor sit amet Comment 411 +BEN KINNEY SPAIN Lorem ipsum dolor sit amet Comment 412 +BENJAMIN KPANTEY NETHERLANDS Lorem ipsum dolor sit amet Comment 413 +TERRY WYATT USA Lorem ipsum dolor sit amet Comment 414 +JAWWAD SHAH SPAIN Lorem ipsum dolor sit amet Comment 415 +JAISON MATHEW BABY NETHERLANDS Lorem ipsum dolor sit amet Comment 416 +JAMAL HAMZA ITALY Lorem ipsum dolor sit amet Comment 417 +AOR USA Lorem ipsum dolor sit amet Comment 418 +FERDIAN NETHERLANDS Lorem ipsum dolor sit amet Comment 419 +EHSAN SADEGHI USA Lorem ipsum dolor sit amet Comment 420 +OSAMA OMER AHMED GERMANY Lorem ipsum dolor sit amet Comment 421 +SARAH COOKE O'DOWD FRANCE Lorem ipsum dolor sit amet Comment 422 +DAMIEN CROWE IRELAND Lorem ipsum dolor sit amet Comment 423 +RICARDO MORALES HOLLAND Lorem ipsum dolor sit amet Comment 424 +ALAN BARR SPAIN Lorem ipsum dolor sit amet Comment 425 +HUNGHEYKWUN NETHERLANDS Lorem ipsum dolor sit amet Comment 426 +RAVI DHANISTA USA Lorem ipsum dolor sit amet Comment 427 +ANINDER SPAIN Lorem ipsum dolor sit amet Comment 428 +LUIS AUGUSTO NETHERLANDS Lorem ipsum dolor sit amet Comment 429 +HELIO DOS SANTOS ITALY Lorem ipsum dolor sit amet Comment 430 +ETTIENNE PRETORIUS HOLLAND Lorem ipsum dolor sit amet Comment 431 +PATRICKCAMPBELL IRELAND Lorem ipsum dolor sit amet Comment 442 +DEEDEE BRICKNER NETHERLANDS Lorem ipsum dolor sit amet Comment 443 +ANGELA DENNEHY ENGLAND Lorem ipsum dolor sit amet Comment 444 +RON BLACK USA Lorem ipsum dolor sit amet Comment 445 +KOSTANDIN DIMITRIJEVENGLAND Lorem ipsum dolor sit amet Comment 446 +DOUGLAS M. RAY WALES Lorem ipsum dolor sit amet Comment 447 +NATALIA SEREBRENNIKOGERMANY Lorem ipsum dolor sit amet Comment 448 +SARAH BRADY GERMANY Lorem ipsum dolor sit amet Comment 449 +TIM BRYANT USA Lorem ipsum dolor sit amet Comment 450 +LES COOPER NETHERLANDS Lorem ipsum dolor sit amet Comment 451 +RANA SHAMI USA Lorem ipsum dolor sit amet Comment 452 +JAMES GERMANY Lorem ipsum dolor sit amet Comment 453 +GERRY TYRRELL FRANCE Lorem ipsum dolor sit amet Comment 454 +JAMES M> MCNEIL IRELAND Lorem ipsum dolor sit amet Comment 455 +KUNAL JALAN HOLLAND Lorem ipsum dolor sit amet Comment 456 +KUNDAN GHIMIRE SPAIN Lorem ipsum dolor sit amet Comment 457 +AURELIO NETHERLANDS Lorem ipsum dolor sit amet Comment 458 +LOW HAI INN USA Lorem ipsum dolor sit amet Comment 459 +JAMES LEYDEN SPAIN Lorem ipsum dolor sit amet Comment 460 +LORENA PANSA NETHERLANDS Lorem ipsum dolor sit amet Comment 461 +JAIME HEUREAUX IRELAND Lorem ipsum dolor sit amet Comment 463 +MOHAMMED JAMEEL ATIYNETHERLANDS Lorem ipsum dolor sit amet Comment 464 +MÁNUS MCELHONE ENGLAND Lorem ipsum dolor sit amet Comment 465 +VITTALDAS PRABHU USA Lorem ipsum dolor sit amet Comment 466 +ATUL CHOWDHURY ENGLAND Lorem ipsum dolor sit amet Comment 467 +KEN CROWLEY WALES Lorem ipsum dolor sit amet Comment 468 +BRENDAN LOUGH GERMANY Lorem ipsum dolor sit amet Comment 469 +MAXIMILLAN MUSELELA GERMANY Lorem ipsum dolor sit amet Comment 470 +JACO KORFF USA Lorem ipsum dolor sit amet Comment 471 +HECTOR SUAREZ NETHERLANDS Lorem ipsum dolor sit amet Comment 472 +MUHAMMAD SOHAIL AKRAUSA Lorem ipsum dolor sit amet Comment 473 +IAIN BURNS GERMANY Lorem ipsum dolor sit amet Comment 474 +LUOQ QING FRANCE Lorem ipsum dolor sit amet Comment 475 +DAFYDD REES IRELAND Lorem ipsum dolor sit amet Comment 476 +MARGARET MAHONY HOLLAND Lorem ipsum dolor sit amet Comment 477 +JANE MC CARTHY SPAIN Lorem ipsum dolor sit amet Comment 478 +JANETTE NETHERLANDS Lorem ipsum dolor sit amet Comment 479 +GEORGIA BROWN USA Lorem ipsum dolor sit amet Comment 480 +MALIK SHAHBAZ ALI SPAIN Lorem ipsum dolor sit amet Comment 481 +VVS RAMAKUMAR NETHERLANDS Lorem ipsum dolor sit amet Comment 482 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.cbl new file mode 100644 index 0000000..7afa139 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-10.cbl @@ -0,0 +1,106 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-10. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT GuestBookFile + ASSIGN TO "Listing14-10.Dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT WorkFile + ASSIGN TO "Work.Tmp". + + SELECT ForeignGuestReport + ASSIGN TO "Listing14-10.rpt" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD GuestBookFile. +01 GuestRec. + 88 EndOfFile VALUE HIGH-VALUES. + 02 GuestNameGF PIC X(20). + 02 CountryNameGF PIC X(20). + 88 CountryIsIreland VALUE "IRELAND". + 02 GuestCommentGF PIC X(40). + +SD WorkFile. +01 WorkRec. + 88 EndOfWorkFile VALUE HIGH-VALUES. + 02 CountryNameWF PIC X(20). + +FD ForeignGuestReport. +01 PrintLine PIC X(38). + + +WORKING-STORAGE SECTION. +01 Heading1 PIC X(25) + VALUE " Foreign Guests Report". + +01 Heading2. + 02 FILLER PIC X(22) VALUE "Country". + 02 FILLER PIC X(8) VALUE "Visitors". + +01 CountryLine. + 02 PrnCountryName PIC X(20). + 02 PrnVisitorCount PIC BBBZZ,ZZ9. + +01 ReportFooting PIC X(27) + VALUE " ***** End of report *****". + +01 VisitorCount PIC 9(5). + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING CountryNameWF + INPUT PROCEDURE IS SelectForeignGuests + OUTPUT PROCEDURE IS PrintGuestsReport. + + + STOP RUN. + +PrintGuestsReport. + OPEN OUTPUT ForeignGuestReport + WRITE PrintLine FROM Heading1 + AFTER ADVANCING PAGE + WRITE PrintLine FROM Heading2 + AFTER ADVANCING 1 LINES + + RETURN WorkFile + AT END SET EndOfWorkfile TO TRUE + END-RETURN + PERFORM PrintReportBody UNTIL EndOfWorkfile + + WRITE PrintLine FROM ReportFooting + AFTER ADVANCING 2 LINES + CLOSE ForeignGuestReport. + +PrintReportBody. + MOVE CountryNameWF TO PrnCountryName + MOVE ZEROS TO VisitorCount + PERFORM UNTIL CountryNameWF NOT EQUAL TO PrnCountryName + ADD 1 TO VisitorCount + RETURN WorkFile + AT END SET EndOfWorkfile TO TRUE + END-RETURN + END-PERFORM + MOVE VisitorCount TO PrnVisitorCount + WRITE PrintLine FROM CountryLine + AFTER ADVANCING 1 LINE. + +SelectForeignGuests. + OPEN INPUT GuestBookFile. + READ GuestBookFile + AT END SET EndOfFile TO TRUE + END-READ + PERFORM UNTIL EndOfFile + IF NOT CountryIsIreland + MOVE CountryNameGF TO CountryNameWF + RELEASE WorkRec + END-IF + READ GuestBookFile + AT END SET EndOfFile TO TRUE + END-READ + END-PERFORM + CLOSE GuestBookFile. diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.cbl new file mode 100644 index 0000000..064a387 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.cbl @@ -0,0 +1,98 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-2. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT WorkFile ASSIGN TO "WORK.TMP". + + SELECT BillableServicesFile ASSIGN TO "Listing14-2.dat" + ORGANIZATION LINE SEQUENTIAL. + + SELECT SortedCallsFile ASSIGN TO "Listing14-2.Srt" + ORGANIZATION LINE SEQUENTIAL. + + SELECT PrintFile ASSIGN TO "Listing14-2.prn" + ORGANIZATION LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BillableServicesFile. +01 SubscriberRec-BSF. + 88 EndOfBillableServicesFile VALUE HIGH-VALUES. + 02 FILLER PIC X(10). + 02 FILLER PIC 9. + 88 VoiceCall VALUE 2. + 02 FILLER PIC X(6). + +SD WorkFile. +01 WorkRec. + 02 SubscriberId-WF PIC 9(10). + 02 FILLER PIC X(7). + +FD SortedCallsFile. +01 SubscriberRec. + 88 EndOfCallsFile VALUE HIGH-VALUES. + 02 SubscriberId PIC 9(10). + 02 ServiceType PIC 9. + 02 ServiceCost PIC 9(4)V99. + +FD PrintFile. +01 PrintRec PIC X(40). + +WORKING-STORAGE SECTION. +01 SubscriberTotal PIC 9(5)V99. + +01 ReportHeader PIC X(33) VALUE "Universal Telecoms Monthly Report". + +01 SubjectHeader PIC X(31) VALUE "SubscriberId BillableValue". + +01 SubscriberLine. + 02 PrnSubscriberId PIC 9(10). + 02 FILLER PIC X(8) VALUE SPACES. + 02 PrnSubscriberTotal PIC $$$,$$9.99. + +01 PrevSubscriberId PIC 9(10). + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY SubscriberId-WF + INPUT PROCEDURE IS SelectVoiceCalls + GIVING SortedCallsFile + OPEN OUTPUT PrintFile + OPEN INPUT SortedCallsFile + WRITE PrintRec FROM ReportHeader AFTER ADVANCING PAGE + WRITE PrintRec FROM SubjectHeader AFTER ADVANCING 1 LINE + + READ SortedCallsFile + AT END SET EndOfCallsFile TO TRUE + END-READ + PERFORM UNTIL EndOfCallsFile + MOVE SubscriberId TO PrevSubscriberId, PrnSubscriberId + MOVE ZEROS TO SubscriberTotal + PERFORM UNTIL SubscriberId NOT EQUAL TO PrevSubscriberId + ADD ServiceCost TO SubscriberTotal + READ SortedCallsFile + AT END SET EndOfCallsFile TO TRUE + END-READ + END-PERFORM + MOVE SubscriberTotal TO PrnSubscriberTotal + WRITE PrintRec FROM SubscriberLine AFTER ADVANCING 1 LINE + END-PERFORM + CLOSE SortedCallsFile, PrintFile + STOP RUN. + +SelectVoiceCalls. + OPEN INPUT BillableServicesFile + READ BillableServicesFile + AT END SET EndOfBillableServicesFile TO TRUE + END-READ + PERFORM UNTIL EndOfBillableServicesFile + IF VoiceCall + RELEASE WorkRec FROM SubscriberRec-BSF + END-IF + READ BillableServicesFile + AT END SET EndOfBillableServicesFile TO TRUE + END-READ + END-PERFORM + CLOSE BillableServicesFile. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.dat new file mode 100644 index 0000000..52a21fe --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-2.dat @@ -0,0 +1,258 @@ +12345678901000010 +89012345671000010 +45678901231000010 +12345678901000010 +67890123451000010 +45678901231000010 +56789012341000010 +45678901231000010 +78901234561000010 +67890123451000010 +78901234562001055 +12345678902001055 +23456789012001055 +78901234562001055 +34567890122001055 +45678901232001055 +78901234562001055 +67890123452001055 +23456789012001055 +23456789012001055 +67890123452012345 +56789012342012345 +12345678902012345 +12345678902012345 +19876543212012345 +12345678902012345 +67890123452012345 +19876543212012345 +56789012342012345 +89012345672012345 +67890123451000010 +56789012341000010 +19876543211000010 +19876543211000010 +34567890121000010 +56789012341000010 +12345678901000010 +19876543211000010 +23456789011000010 +90123456781000010 +12345678902001055 +19876543212001055 +45678901232001055 +56789012342001055 +12345678902001055 +89012345672001055 +89012345672001055 +34567890122001055 +19876543212001055 +78901234562001055 +89012345672012345 +89012345672012345 +34567890122012345 +23456789012012345 +78901234562012345 +67890123452012345 +12345678902012345 +34567890122012345 +12345678902012345 +90123456782012345 +12345678901000010 +89012345671000010 +56789012341000010 +67890123451000010 +34567890121000010 +89012345671000010 +89012345671000010 +56789012341000010 +23456789011000010 +78901234561000010 +45678901232001055 +23456789012001055 +45678901232001055 +90123456782001055 +56789012342001055 +78901234562001055 +56789012342001055 +67890123452001055 +23456789012001055 +56789012342001055 +89012345672012345 +34567890122012345 +34567890122012345 +90123456782012345 +23456789012012345 +78901234562012345 +78901234562012345 +89012345672012345 +89012345672012345 +12345678902012345 +34567890121000010 +78901234561000010 +34567890121000010 +90123456781000010 +56789012341000010 +12345678901000010 +67890123451000010 +34567890121000010 +78901234561000010 +45678901231000010 +67890123452001055 +67890123452001055 +34567890122001055 +56789012342001055 +78901234562001055 +78901234562001055 +45678901232001055 +45678901232001055 +19876543212001055 +67890123452001055 +34567890122012345 +56789012342012345 +45678901232012345 +89012345672012345 +89012345672012345 +90123456782012345 +23456789012012345 +56789012342012345 +89012345672012345 +45678901232012345 +89012345671000010 +56789012341000010 +78901234561000010 +34567890121000010 +45678901231000010 +67890123451000010 +34567890121000010 +34567890121000010 +34567890121000010 +67890123451000010 +90123456782001055 +23456789012001055 +78901234562001055 +12345678902001055 +67890123452001055 +19876543212001055 +23456789012001055 +45678901232001055 +89012345672001055 +12345678902001055 +90123456782012345 +23456789012012345 +12345678902012345 +34567890122012345 +45678901232012345 +19876543212012345 +23456789012012345 +67890123452012345 +34567890122012345 +45678901232012345 +78901234561000010 +67890123451000010 +12345678901000010 +90123456781000010 +19876543211000010 +45678901231000010 +23456789011000010 +78901234561000010 +19876543211000010 +78901234561000010 +34567890122001055 +45678901232001055 +90123456782001055 +90123456782001055 +78901234562001055 +34567890122001055 +23456789012001055 +56789012342001055 +45678901232001055 +34567890122001055 +78901234562012345 +34567890122012345 +89012345672012345 +45678901232012345 +12345678902012345 +12345678902012345 +45678901232012345 +78901234562012345 +34567890122012345 +19876543212012345 +34567890121000010 +45678901231000010 +34567890121000010 +90123456781000010 +67890123451000010 +34567890121000010 +45678901231000010 +67890123451000010 +67890123451000010 +45678901231000010 +34567890122001055 +89012345672001055 +19876543212001055 +56789012342001055 +78901234562001055 +23456789012001055 +12345678902001055 +45678901232001055 +45678901232001055 +45678901232001055 +89012345672012345 +89012345672012345 +89012345672012345 +45678901232012345 +90123456782012345 +78901234562012345 +22222222221000010 +34567890122012345 +90123456782012345 +45678901232012345 +67890123452012345 +19876543211000010 +56789012341000010 +78901234561000010 +23456789011000010 +34567890121000010 +34567890121000010 +90123456781000010 +78901234561000010 +90123456781000010 +34567890121000010 +45678901232001055 +67890123452001055 +22222222221000010 +19876543212001055 +89012345672001055 +34567890122001055 +45678901232001055 +19876543212001055 +78901234562001055 +45678901232001055 +12345678902001055 +22222222221000010 +19876543212012345 +67890123452012345 +56789012342012345 +23456789012012345 +19876543212012345 +90123456782012345 +22222222222222200 +45678901232012345 +67890123452012345 +67890123452012345 +22222222221000010 +56789012342012345 +23456789011000010 +22222222222222200 +78901234561000010 +89012345671000010 +78901234561000010 +19876543211000010 +23456789011000010 +22222222222222200 +89012345671000010 +56789012341000010 +90123456781000010 +34567890121000010 +89012345672001055 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.cbl new file mode 100644 index 0000000..e5f0956 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.cbl @@ -0,0 +1,106 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-3. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT WorkFile ASSIGN TO "WORK.TMP". + + SELECT BillableServicesFile ASSIGN TO "Listing14-3.dat" + ORGANIZATION LINE SEQUENTIAL. + + SELECT SortedSubscriberFile ASSIGN TO "Listing14-3.Srt" + ORGANIZATION LINE SEQUENTIAL. + + SELECT PrintFile ASSIGN TO "Listing14-3.prn" + ORGANIZATION LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BillableServicesFile. +01 SubscriberRec-BSF. + 88 EndOfBillableServicesFile VALUE HIGH-VALUES. + 02 SubscriberId-BSF PIC 9(10). + 02 ServiceType-BSF PIC 9. + 02 FILLER PIC X(6). + +SD WorkFile. +01 WorkRec. + 02 SubscriberId-WF PIC 9(10). + 02 ServiceType-WF PIC 9. + +FD SortedSubscriberFile. +01 SubscriberRec. + 88 EndOfCallsFile VALUE HIGH-VALUES. + 02 SubscriberId PIC 9(10). + 02 ServiceType PIC 9. + 88 VoiceCall VALUE 2. + +FD PrintFile. +01 PrintRec PIC X(40). + +WORKING-STORAGE SECTION. +01 CallsTotal PIC 9(4). + +01 TextsTotal PIC 9(5). + +01 ReportHeader PIC X(33) VALUE "Universal Telecoms Monthly Report". + +01 SubjectHeader PIC X(31) VALUE "SubscriberId Calls Texts". + +01 SubscriberLine. + 02 PrnSubscriberId PIC 9(10). + 02 FILLER PIC X(6) VALUE SPACES. + 02 PrnCallsTotal PIC Z,ZZ9. + 02 FILLER PIC X(4) VALUE SPACES. + 02 PrnTextsTotal PIC ZZ,ZZ9. + +01 PrevSubscriberId PIC 9(10). + + + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY SubscriberId-WF + INPUT PROCEDURE IS ModifySubscriberRecords + GIVING SortedSubscriberFile + OPEN OUTPUT PrintFile + OPEN INPUT SortedSubscriberFile + WRITE PrintRec FROM ReportHeader AFTER ADVANCING PAGE + WRITE PrintRec FROM SubjectHeader AFTER ADVANCING 1 LINE + + READ SortedSubscriberFile + AT END SET EndOfCallsFile TO TRUE + END-READ + PERFORM UNTIL EndOfCallsFile + MOVE SubscriberId TO PrevSubscriberId, PrnSubscriberId + MOVE ZEROS TO CallsTotal, TextsTotal + PERFORM UNTIL SubscriberId NOT EQUAL TO PrevSubscriberId + IF VoiceCall ADD 1 TO CallsTotal + ELSE ADD 1 TO TextsTotal + END-IF + READ SortedSubscriberFile + AT END SET EndOfCallsFile TO TRUE + END-READ + END-PERFORM + MOVE CallsTotal TO PrnCallsTotal + MOVE TextsTotal TO PrnTextsTotal + WRITE PrintRec FROM SubscriberLine AFTER ADVANCING 1 LINE + END-PERFORM + CLOSE SortedSubscriberFile, PrintFile + STOP RUN. + +ModifySubscriberRecords. + OPEN INPUT BillableServicesFile + READ BillableServicesFile + AT END SET EndOfBillableServicesFile TO TRUE + END-READ + PERFORM UNTIL EndOfBillableServicesFile + MOVE SubscriberId-BSF TO SubscriberId-WF + MOVE ServiceType-BSF TO ServiceType-WF + RELEASE WorkRec + READ BillableServicesFile + AT END SET EndOfBillableServicesFile TO TRUE + END-READ + END-PERFORM + CLOSE BillableServicesFile. diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.dat new file mode 100644 index 0000000..52a21fe --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-3.dat @@ -0,0 +1,258 @@ +12345678901000010 +89012345671000010 +45678901231000010 +12345678901000010 +67890123451000010 +45678901231000010 +56789012341000010 +45678901231000010 +78901234561000010 +67890123451000010 +78901234562001055 +12345678902001055 +23456789012001055 +78901234562001055 +34567890122001055 +45678901232001055 +78901234562001055 +67890123452001055 +23456789012001055 +23456789012001055 +67890123452012345 +56789012342012345 +12345678902012345 +12345678902012345 +19876543212012345 +12345678902012345 +67890123452012345 +19876543212012345 +56789012342012345 +89012345672012345 +67890123451000010 +56789012341000010 +19876543211000010 +19876543211000010 +34567890121000010 +56789012341000010 +12345678901000010 +19876543211000010 +23456789011000010 +90123456781000010 +12345678902001055 +19876543212001055 +45678901232001055 +56789012342001055 +12345678902001055 +89012345672001055 +89012345672001055 +34567890122001055 +19876543212001055 +78901234562001055 +89012345672012345 +89012345672012345 +34567890122012345 +23456789012012345 +78901234562012345 +67890123452012345 +12345678902012345 +34567890122012345 +12345678902012345 +90123456782012345 +12345678901000010 +89012345671000010 +56789012341000010 +67890123451000010 +34567890121000010 +89012345671000010 +89012345671000010 +56789012341000010 +23456789011000010 +78901234561000010 +45678901232001055 +23456789012001055 +45678901232001055 +90123456782001055 +56789012342001055 +78901234562001055 +56789012342001055 +67890123452001055 +23456789012001055 +56789012342001055 +89012345672012345 +34567890122012345 +34567890122012345 +90123456782012345 +23456789012012345 +78901234562012345 +78901234562012345 +89012345672012345 +89012345672012345 +12345678902012345 +34567890121000010 +78901234561000010 +34567890121000010 +90123456781000010 +56789012341000010 +12345678901000010 +67890123451000010 +34567890121000010 +78901234561000010 +45678901231000010 +67890123452001055 +67890123452001055 +34567890122001055 +56789012342001055 +78901234562001055 +78901234562001055 +45678901232001055 +45678901232001055 +19876543212001055 +67890123452001055 +34567890122012345 +56789012342012345 +45678901232012345 +89012345672012345 +89012345672012345 +90123456782012345 +23456789012012345 +56789012342012345 +89012345672012345 +45678901232012345 +89012345671000010 +56789012341000010 +78901234561000010 +34567890121000010 +45678901231000010 +67890123451000010 +34567890121000010 +34567890121000010 +34567890121000010 +67890123451000010 +90123456782001055 +23456789012001055 +78901234562001055 +12345678902001055 +67890123452001055 +19876543212001055 +23456789012001055 +45678901232001055 +89012345672001055 +12345678902001055 +90123456782012345 +23456789012012345 +12345678902012345 +34567890122012345 +45678901232012345 +19876543212012345 +23456789012012345 +67890123452012345 +34567890122012345 +45678901232012345 +78901234561000010 +67890123451000010 +12345678901000010 +90123456781000010 +19876543211000010 +45678901231000010 +23456789011000010 +78901234561000010 +19876543211000010 +78901234561000010 +34567890122001055 +45678901232001055 +90123456782001055 +90123456782001055 +78901234562001055 +34567890122001055 +23456789012001055 +56789012342001055 +45678901232001055 +34567890122001055 +78901234562012345 +34567890122012345 +89012345672012345 +45678901232012345 +12345678902012345 +12345678902012345 +45678901232012345 +78901234562012345 +34567890122012345 +19876543212012345 +34567890121000010 +45678901231000010 +34567890121000010 +90123456781000010 +67890123451000010 +34567890121000010 +45678901231000010 +67890123451000010 +67890123451000010 +45678901231000010 +34567890122001055 +89012345672001055 +19876543212001055 +56789012342001055 +78901234562001055 +23456789012001055 +12345678902001055 +45678901232001055 +45678901232001055 +45678901232001055 +89012345672012345 +89012345672012345 +89012345672012345 +45678901232012345 +90123456782012345 +78901234562012345 +22222222221000010 +34567890122012345 +90123456782012345 +45678901232012345 +67890123452012345 +19876543211000010 +56789012341000010 +78901234561000010 +23456789011000010 +34567890121000010 +34567890121000010 +90123456781000010 +78901234561000010 +90123456781000010 +34567890121000010 +45678901232001055 +67890123452001055 +22222222221000010 +19876543212001055 +89012345672001055 +34567890122001055 +45678901232001055 +19876543212001055 +78901234562001055 +45678901232001055 +12345678902001055 +22222222221000010 +19876543212012345 +67890123452012345 +56789012342012345 +23456789012012345 +19876543212012345 +90123456782012345 +22222222222222200 +45678901232012345 +67890123452012345 +67890123452012345 +22222222221000010 +56789012342012345 +23456789011000010 +22222222222222200 +78901234561000010 +89012345671000010 +78901234561000010 +19876543211000010 +23456789011000010 +22222222222222200 +89012345671000010 +56789012341000010 +90123456781000010 +34567890121000010 +89012345672001055 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-4.DAT b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-4.DAT new file mode 100644 index 0000000..6e7f627 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-4.DAT @@ -0,0 +1,9 @@ +13456723Andrews DD19941212LM110M +12111234Cullen MM19920314LM114M +12764523Luskin WA19951111LM051M +12345678Molloy DJ19940107LM051M +11349872O'Brien RR19941010LM110F +13456789Ryan TT19951213LM051F +13246454SheridanVV19920918LM069F +12986378Smith AJ19910221LM069M +12987786WilliamsRR19920817LM051M diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.cbl new file mode 100644 index 0000000..a6ca2e7 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.cbl @@ -0,0 +1,63 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-5. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT WorkFile ASSIGN TO "WORK.TMP". + + SELECT BillableServicesFile ASSIGN TO "Listing14-5.dat" + ORGANIZATION LINE SEQUENTIAL. + + SELECT SortedSummaryFile ASSIGN TO "Listing14-5.Srt" + ORGANIZATION LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BillableServicesFile. +01 SubscriberRec-BSF PIC X(17). + +SD WorkFile. +01 WorkRec. + 88 EndOfWorkFile VALUE HIGH-VALUES. + 02 SubscriberId-WF PIC 9(10). + 02 FILLER PIC 9. + 88 TextCall VALUE 1. + 88 VoiceCall VALUE 2. + 02 ServiceCost-WF PIC 9(4)V99. + +FD SortedSummaryFile. +01 SummaryRec. + 02 SubscriberId PIC 9(10). + 02 CostOfTexts PIC 9(4)V99. + 02 CostOfCalls PIC 9(6)V99. + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY SubscriberId-WF + USING BillableServicesFile + OUTPUT PROCEDURE IS CreateSummaryFile + STOP RUN. + +CreateSummaryFile. + OPEN OUTPUT SortedSummaryFile + RETURN WorkFile + AT END SET EndOfWorkFile TO TRUE + END-RETURN + PERFORM UNTIL EndOfWorkFile + MOVE ZEROS TO CostOfTexts, CostOfCalls + MOVE SubscriberId-WF TO SubscriberId + PERFORM UNTIL SubscriberId-WF NOT EQUAL TO SubscriberId + IF VoiceCall + ADD ServiceCost-WF TO CostOfCalls + ELSE + ADD ServiceCost-WF TO CostOfTexts + END-IF + RETURN WorkFile + AT END SET EndOfWorkFile TO TRUE + END-RETURN + END-PERFORM + WRITE SummaryRec + END-PERFORM + CLOSE SortedSummaryFile. + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.dat new file mode 100644 index 0000000..52a21fe --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-5.dat @@ -0,0 +1,258 @@ +12345678901000010 +89012345671000010 +45678901231000010 +12345678901000010 +67890123451000010 +45678901231000010 +56789012341000010 +45678901231000010 +78901234561000010 +67890123451000010 +78901234562001055 +12345678902001055 +23456789012001055 +78901234562001055 +34567890122001055 +45678901232001055 +78901234562001055 +67890123452001055 +23456789012001055 +23456789012001055 +67890123452012345 +56789012342012345 +12345678902012345 +12345678902012345 +19876543212012345 +12345678902012345 +67890123452012345 +19876543212012345 +56789012342012345 +89012345672012345 +67890123451000010 +56789012341000010 +19876543211000010 +19876543211000010 +34567890121000010 +56789012341000010 +12345678901000010 +19876543211000010 +23456789011000010 +90123456781000010 +12345678902001055 +19876543212001055 +45678901232001055 +56789012342001055 +12345678902001055 +89012345672001055 +89012345672001055 +34567890122001055 +19876543212001055 +78901234562001055 +89012345672012345 +89012345672012345 +34567890122012345 +23456789012012345 +78901234562012345 +67890123452012345 +12345678902012345 +34567890122012345 +12345678902012345 +90123456782012345 +12345678901000010 +89012345671000010 +56789012341000010 +67890123451000010 +34567890121000010 +89012345671000010 +89012345671000010 +56789012341000010 +23456789011000010 +78901234561000010 +45678901232001055 +23456789012001055 +45678901232001055 +90123456782001055 +56789012342001055 +78901234562001055 +56789012342001055 +67890123452001055 +23456789012001055 +56789012342001055 +89012345672012345 +34567890122012345 +34567890122012345 +90123456782012345 +23456789012012345 +78901234562012345 +78901234562012345 +89012345672012345 +89012345672012345 +12345678902012345 +34567890121000010 +78901234561000010 +34567890121000010 +90123456781000010 +56789012341000010 +12345678901000010 +67890123451000010 +34567890121000010 +78901234561000010 +45678901231000010 +67890123452001055 +67890123452001055 +34567890122001055 +56789012342001055 +78901234562001055 +78901234562001055 +45678901232001055 +45678901232001055 +19876543212001055 +67890123452001055 +34567890122012345 +56789012342012345 +45678901232012345 +89012345672012345 +89012345672012345 +90123456782012345 +23456789012012345 +56789012342012345 +89012345672012345 +45678901232012345 +89012345671000010 +56789012341000010 +78901234561000010 +34567890121000010 +45678901231000010 +67890123451000010 +34567890121000010 +34567890121000010 +34567890121000010 +67890123451000010 +90123456782001055 +23456789012001055 +78901234562001055 +12345678902001055 +67890123452001055 +19876543212001055 +23456789012001055 +45678901232001055 +89012345672001055 +12345678902001055 +90123456782012345 +23456789012012345 +12345678902012345 +34567890122012345 +45678901232012345 +19876543212012345 +23456789012012345 +67890123452012345 +34567890122012345 +45678901232012345 +78901234561000010 +67890123451000010 +12345678901000010 +90123456781000010 +19876543211000010 +45678901231000010 +23456789011000010 +78901234561000010 +19876543211000010 +78901234561000010 +34567890122001055 +45678901232001055 +90123456782001055 +90123456782001055 +78901234562001055 +34567890122001055 +23456789012001055 +56789012342001055 +45678901232001055 +34567890122001055 +78901234562012345 +34567890122012345 +89012345672012345 +45678901232012345 +12345678902012345 +12345678902012345 +45678901232012345 +78901234562012345 +34567890122012345 +19876543212012345 +34567890121000010 +45678901231000010 +34567890121000010 +90123456781000010 +67890123451000010 +34567890121000010 +45678901231000010 +67890123451000010 +67890123451000010 +45678901231000010 +34567890122001055 +89012345672001055 +19876543212001055 +56789012342001055 +78901234562001055 +23456789012001055 +12345678902001055 +45678901232001055 +45678901232001055 +45678901232001055 +89012345672012345 +89012345672012345 +89012345672012345 +45678901232012345 +90123456782012345 +78901234562012345 +22222222221000010 +34567890122012345 +90123456782012345 +45678901232012345 +67890123452012345 +19876543211000010 +56789012341000010 +78901234561000010 +23456789011000010 +34567890121000010 +34567890121000010 +90123456781000010 +78901234561000010 +90123456781000010 +34567890121000010 +45678901232001055 +67890123452001055 +22222222221000010 +19876543212001055 +89012345672001055 +34567890122001055 +45678901232001055 +19876543212001055 +78901234562001055 +45678901232001055 +12345678902001055 +22222222221000010 +19876543212012345 +67890123452012345 +56789012342012345 +23456789012012345 +19876543212012345 +90123456782012345 +22222222222222200 +45678901232012345 +67890123452012345 +67890123452012345 +22222222221000010 +56789012342012345 +23456789011000010 +22222222222222200 +78901234561000010 +89012345671000010 +78901234561000010 +19876543211000010 +23456789011000010 +22222222222222200 +89012345671000010 +56789012341000010 +90123456781000010 +34567890121000010 +89012345672001055 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.cbl new file mode 100644 index 0000000..8a0bdb6 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.cbl @@ -0,0 +1,78 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-6. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT UnsortedStudentsFile ASSIGN TO "Listing14-6.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT WorkFile ASSIGN TO "Workfile.tmp". + + SELECT SortedStudentsFile ASSIGN TO "Listing14-6.srt" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD UnsortedStudentsFile. +01 StudentRecUF. + 88 EndOfUnsortedFile VALUE HIGH-VALUES. + 02 StudentIdUF. + 03 MilleniumUF PIC 99. + 03 FILLER PIC 9(5). + 02 RecBodyUF PIC X(14). + +SD WorkFile. +01 StudentRecWF. + 88 EndOfWorkFile VALUE HIGH-VALUES. + 02 FullStudentIdWF. + 03 MilleniumWF PIC 99. + 03 StudentIdWF PIC 9(7). + 02 RecBodyWF PIC X(14). + +FD SortedStudentsFile. +01 StudentRecSF. + 02 StudentIdSF PIC 9(7). + 02 RecBodySF PIC X(14). + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY FullStudentIdWF + INPUT PROCEDURE IS AddInMillenium + OUTPUT PROCEDURE IS RemoveMillenium + STOP RUN. + +AddInMillenium. + OPEN INPUT UnsortedStudentsFile + READ UnsortedStudentsFile + AT END SET EndOfUnsortedFile TO TRUE + END-READ + PERFORM UNTIL EndOfUnsortedFile + MOVE RecBodyUF TO RecBodyWF + MOVE StudentIDUF TO StudentIdWF + IF MilleniumUF < 70 + MOVE 20 TO MilleniumWF + ELSE + MOVE 19 TO MilleniumWF + END-IF + RELEASE StudentRecWF + READ UnsortedStudentsFile + AT END SET EndOfUnsortedFile TO TRUE + END-READ + END-PERFORM + CLOSE UnsortedStudentsFile. + +RemoveMillenium. + OPEN OUTPUT SortedStudentsFile + RETURN WorkFile + AT END SET EndOfWorkFile TO TRUE + END-RETURN + PERFORM UNTIL EndOfWorkFile + MOVE RecBodyWF TO RecBodySF + MOVE StudentIdWF TO StudentIdSF + WRITE StudentRecSF + RETURN WorkFile + AT END SET EndOfWorkFile TO TRUE + END-RETURN + END-PERFORM + CLOSE SortedStudentsFile. diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.dat new file mode 100644 index 0000000..a141424 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-6.dat @@ -0,0 +1,36 @@ +97258578LM180 +12257414LM155 +12257251LM154 +96322551LM051 +97057751LM153 +11012357LM088 +02012358LM087 +09012359LM085 +94262414LM152 +11712357LM153 +01712358LM152 +00712359LM151 +13251994LM151 +96322714LM119 +87257337LM118 +96324763LM117 +04912354LM110 +12912355LM102 +08912356LM101 +95245088LM116 +98812355LM150 +78912352LM114 +91248778LM114 +96332788LM113 +11260049LM110 +00257094LM101 +91245837LM100 +08912357LM100 +06912358LM099 +08912359LM096 +87248937LM094 +13256878LM093 +03712355LM155 +03712356LM154 +01253851LM088 +08712351LM051 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-7.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-7.cbl new file mode 100644 index 0000000..8c15cc9 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-7.cbl @@ -0,0 +1,59 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-7. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CountyTable. + 02 TableValues. + 03 FILLER PIC X(16) VALUE "kilkenny 0080421". + 03 FILLER PIC X(16) VALUE "laois 0058732". + 03 FILLER PIC X(16) VALUE "leitrim 0025815". + 03 FILLER PIC X(16) VALUE "tipperary0140281". + 03 FILLER PIC X(16) VALUE "waterford0101518". + 03 FILLER PIC X(16) VALUE "westmeath0072027". + 03 FILLER PIC X(16) VALUE "carlow 0045845". + 03 FILLER PIC X(16) VALUE "wicklow 0114719". + 03 FILLER PIC X(16) VALUE "cavan 0056416". + 03 FILLER PIC X(16) VALUE "clare 0103333". + 03 FILLER PIC X(16) VALUE "meath 0133936". + 03 FILLER PIC X(16) VALUE "monaghan 0052772". + 03 FILLER PIC X(16) VALUE "offaly 0063702". + 03 FILLER PIC X(16) VALUE "roscommon0053803". + 03 FILLER PIC X(16) VALUE "sligo 0058178". + 03 FILLER PIC X(16) VALUE "cork 0448181". + 03 FILLER PIC X(16) VALUE "donegal 0137383". + 03 FILLER PIC X(16) VALUE "dublin 1122600". + 03 FILLER PIC X(16) VALUE "galway 0208826". + 03 FILLER PIC X(16) VALUE "wexford 0116543". + 03 FILLER PIC X(16) VALUE "kerry 0132424". + 03 FILLER PIC X(16) VALUE "kildare 0163995". + 03 FILLER PIC X(16) VALUE "limerick 0175529". + 03 FILLER PIC X(16) VALUE "longford 0031127". + 03 FILLER PIC X(16) VALUE "louth 0101802". + 03 FILLER PIC X(16) VALUE "mayo 0117428". + 02 FILLER REDEFINES TableValues. + 03 CountyDetails OCCURS 26 TIMES + INDEXED BY Cidx. + 04 CountyName PIC X(9). + 04 CountyPop PIC 9(7). + +01 PrnCountyPop PIC Z,ZZZ,ZZ9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "County name order" + SORT CountyDetails ON ASCENDING KEY CountyName + PERFORM DisplayCountyTotals + VARYING Cidx FROM 1 BY 1 UNTIL Cidx GREATER THAN 26. + + DISPLAY SPACES + DISPLAY "County population order" + SORT CountyDetails ON DESCENDING KEY CountyPop + PERFORM DisplayCountyTotals + VARYING Cidx FROM 1 BY 1 UNTIL Cidx GREATER THAN 26. + + STOP RUN. + +DisplayCountyTotals. + MOVE CountyPop(Cidx) TO PrnCountyPop + DISPLAY CountyName(Cidx) " is " PrnCountyPop + diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-8.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-8.cbl new file mode 100644 index 0000000..ce160bb --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-8.cbl @@ -0,0 +1,59 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-8. +*> ISO 2002 Applying the SORT to a table +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CountyTable. + 02 TableValues. + 03 FILLER PIC X(16) VALUE "kilkenny 0080421". + 03 FILLER PIC X(16) VALUE "laois 0058732". + 03 FILLER PIC X(16) VALUE "leitrim 0025815". + 03 FILLER PIC X(16) VALUE "tipperary0140281". + 03 FILLER PIC X(16) VALUE "waterford0101518". + 03 FILLER PIC X(16) VALUE "westmeath0072027". + 03 FILLER PIC X(16) VALUE "carlow 0045845". + 03 FILLER PIC X(16) VALUE "wicklow 0114719". + 03 FILLER PIC X(16) VALUE "cavan 0056416". + 03 FILLER PIC X(16) VALUE "clare 0103333". + 03 FILLER PIC X(16) VALUE "meath 0133936". + 03 FILLER PIC X(16) VALUE "monaghan 0052772". + 03 FILLER PIC X(16) VALUE "offaly 0063702". + 03 FILLER PIC X(16) VALUE "roscommon0053803". + 03 FILLER PIC X(16) VALUE "sligo 0058178". + 03 FILLER PIC X(16) VALUE "cork 0448181". + 03 FILLER PIC X(16) VALUE "donegal 0137383". + 03 FILLER PIC X(16) VALUE "dublin 1122600". + 03 FILLER PIC X(16) VALUE "galway 0208826". + 03 FILLER PIC X(16) VALUE "wexford 0116543". + 03 FILLER PIC X(16) VALUE "kerry 0132424". + 03 FILLER PIC X(16) VALUE "kildare 0163995". + 03 FILLER PIC X(16) VALUE "limerick 0175529". + 03 FILLER PIC X(16) VALUE "longford 0031127". + 03 FILLER PIC X(16) VALUE "louth 0101802". + 03 FILLER PIC X(16) VALUE "mayo 0117428". + 02 FILLER REDEFINES TableValues. + 03 CountyDetails OCCURS 26 TIMES + INDEXED BY Cidx. + 04 CountyName PIC X(9). + 04 CountyPop PIC 9(7). + +01 PrnCountyPop PIC Z,ZZZ,ZZ9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "County name order" + SORT CountyDetails ON ASCENDING KEY CountyName + PERFORM DisplayCountyTotals + VARYING Cidx FROM 1 BY 1 UNTIL Cidx GREATER THAN 26. + + DISPLAY SPACES + DISPLAY "County population order" + SORT CountyDetails ON ASCENDING KEY CountyPop + PERFORM DisplayCountyTotals + VARYING Cidx FROM 1 BY 1 UNTIL Cidx GREATER THAN 26. + + STOP RUN. + +DisplayCountyTotals. + MOVE CountyPop(Cidx) TO PrnCountyPop + DISPLAY CountyName(Cidx) " is " PrnCountyPop. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9.cbl new file mode 100644 index 0000000..892670a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9.cbl @@ -0,0 +1,78 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing14-9. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT UlsterSales ASSIGN TO "Listing14-9ulster.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT ConnachtSales ASSIGN TO "Listing14-9connacht.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT MunsterSales ASSIGN TO "Listing14-9munster.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT LeinsterSales ASSIGN TO "Listing14-9leinster.dat" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT SummaryFile ASSIGN TO "Listing14-9.sum" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT WorkFile ASSIGN TO "WORK.TMP". + +DATA DIVISION. +FILE SECTION. +FD UlsterSales. +01 FILLER PIC X(12). + +FD ConnachtSales. +01 FILLER PIC X(12). + +FD MunsterSales. +01 FILLER PIC X(12). + +FD LeinsterSales. +01 FILLER PIC X(12). + +FD SummaryFile. +01 SummaryRec. + 02 ProductCode-SF PIC X(6). + 02 TotalSalesValue PIC 9(6)V99. + +SD WorkFile. +01 WorkRec. + 88 EndOfWorkfile VALUE HIGH-VALUES. + 02 ProductCode-WF PIC X(6). + 02 ValueOfSale-WF PIC 9999V99. + + +PROCEDURE DIVISION. +Begin. + MERGE WorkFile ON ASCENDING KEY ProductCode-WF + USING UlsterSales, ConnachtSales, MunsterSales, LeinsterSales + OUTPUT PROCEDURE IS SummarizeProductSales + + STOP RUN. + +SummarizeProductSales. + OPEN OUTPUT SummaryFile + RETURN WorkFile + AT END SET EndOfWorkfile TO TRUE + END-RETURN + + PERFORM UNTIL EndOfWorkFile + MOVE ZEROS TO TotalSalesValue + MOVE ProductCode-WF TO ProductCode-SF + PERFORM UNTIL ProductCode-WF NOT EQUAL TO ProductCode-SF + ADD ValueOfSale-WF TO TotalSalesValue + RETURN WorkFile + AT END SET EndOfWorkfile TO TRUE + END-RETURN + END-PERFORM + WRITE SummaryRec + END-PERFORM + CLOSE SummaryFile. + + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9connacht.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9connacht.dat new file mode 100644 index 0000000..6faf3dd --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9connacht.dat @@ -0,0 +1,18 @@ +AB-333001145 +AB-333002255 +AB-333001175 +AB-444001175 +AB-444011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-888011100 +AB-888001175 +AB-888011105 +ZA-222002255 +ZA-222001175 +ZA-222001175 +ZA-222011105 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9leinster.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9leinster.dat new file mode 100644 index 0000000..6faf3dd --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9leinster.dat @@ -0,0 +1,18 @@ +AB-333001145 +AB-333002255 +AB-333001175 +AB-444001175 +AB-444011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-888011100 +AB-888001175 +AB-888011105 +ZA-222002255 +ZA-222001175 +ZA-222001175 +ZA-222011105 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9munster.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9munster.dat new file mode 100644 index 0000000..6faf3dd --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9munster.dat @@ -0,0 +1,18 @@ +AB-333001145 +AB-333002255 +AB-333001175 +AB-444001175 +AB-444011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-888011100 +AB-888001175 +AB-888011105 +ZA-222002255 +ZA-222001175 +ZA-222001175 +ZA-222011105 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9ulster.dat b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9ulster.dat new file mode 100644 index 0000000..6faf3dd --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Listing14-9ulster.dat @@ -0,0 +1,18 @@ +AB-333001145 +AB-333002255 +AB-333001175 +AB-444001175 +AB-444011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-666011100 +AB-666001175 +AB-666011105 +AB-888011100 +AB-888001175 +AB-888011105 +ZA-222002255 +ZA-222001175 +ZA-222001175 +ZA-222011105 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Lsiting12-6.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Lsiting12-6.cbl new file mode 100644 index 0000000..835fadc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Lsiting12-6.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Debug4. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Counter1 PIC 99. +01 InNumber PIC 9. +01 Result PIC 999. + + +PROCEDURE DIVISION. +Begin. + DISPLAY "DEBUG4. Sometimes I just don't stop" + DISPLAY "Enter number 0-9 :--> " WITH NO ADVANCING + ACCEPT InNumber + PERFORM EternalLooping + VARYING Counter1 FROM 1 BY 1 + UNTIL Counter1 GREATER THAN 10 + + DISPLAY "Back in main paragraph now" + STOP RUN. + +EternalLooping. + COMPUTE Result = InNumber * Counter1 + IF Result > 60 + MOVE 99 TO Counter1 + END-IF + DISPLAY "Counter1 = " Counter1 " Result = " Result. diff --git a/978-1-4302-6253-4_Coughlan_Ch14/Lsiting14-4.cbl b/978-1-4302-6253-4_Coughlan_Ch14/Lsiting14-4.cbl new file mode 100644 index 0000000..efbd2ee --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch14/Lsiting14-4.cbl @@ -0,0 +1,58 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Lsiting14-4. +AUTHOR. Michael Coughlan. +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT StudentFile ASSIGN TO "Listing14-4.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT WorkFile ASSIGN TO "WORK.TMP". + + +DATA DIVISION. +FILE SECTION. +FD StudentFile. +01 StudentDetails PIC X(32). +* The StudentDetails record has the description shown below. +* But in this program I don't actually need to refer to any +* of the items in the record and so have described it as PIC X(32) +* 01 StudentDetails +* 02 StudentId PIC 9(8). +* 02 StudentName. +* 03 Surname PIC X(8). +* 03 Initials PIC XX. +* 02 DateOfBirth. +* 03 YOBirth PIC 9(4). +* 03 MOBirth PIC 9(2). +* 03 DOBirth PIC 9(2). +* 02 CourseCode PIC X(5). +* 02 Gender PIC X. + +SD WorkFile. +01 WorkRec. + 88 EndOfInput VALUE SPACES. + 02 FILLER PIC X(8). + 02 SurnameWF PIC X(8). + 02 FILLER PIC X(16). + + +PROCEDURE DIVISION. +Begin. + SORT WorkFile ON ASCENDING KEY SurnameWF + INPUT PROCEDURE IS GetStudentDetails + GIVING StudentFile + STOP RUN. + + +GetStudentDetails. + DISPLAY "Use the template below" + DISPLAY "to enter your details." + DISPLAY "Enter spaces to end.". + DISPLAY "NNNNNNNNSSSSSSSSIIYYYYMMDDCCCCCG". + ACCEPT WorkRec. + PERFORM UNTIL EndOfInput + RELEASE WorkRec + ACCEPT WorkRec + END-PERFORM. + diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-1.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-1.cbl new file mode 100644 index 0000000..312c208 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-1.cbl @@ -0,0 +1,35 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-1. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 TextLine PIC X(80). + +01 LowerCase PIC X(26) VALUE "abcdefghijklmnopqrstuvwxyz". + +01 UpperCase VALUE "ABCDEFGHIJKLMNOPQRSTUVWXYZ". + 02 Letter PIC X OCCURS 26 TIMES. + +01 idx PIC 99. + +01 LetterCount PIC 99 + +01 PrnLetterCount PIC Z9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter text : " WITH NO ADVANCING + ACCEPT TextLine + INSPECT TextLine CONVERTING LowerCase TO UpperCase + + PERFORM VARYING idx FROM 1 BY 1 UNTIL idx > 26 + MOVE ZEROS TO LetterCount + INSPECT TextLine TALLYING LetterCount FOR ALL Letter(idx) + IF LetterCount > ZERO + MOVE LetterCount TO PrnLetterCount + DISPLAY "Letter " Letter(idx) " occurs " PrnLetterCount " times" + END-IF + END-PERFORM + STOP RUN. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-10.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-10.cbl new file mode 100644 index 0000000..d336981 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-10.cbl @@ -0,0 +1,105 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-10. +AUTHOR. Michael Coughlan. +*> Date Functions + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 DateAndTimeNow. + 02 DateNow. + 03 YearNow PIC 9(4). + 03 MonthNow PIC 99. + 03 DayNow PIC 99. + 02 TimeC. + 03 HourNow PIC 99. + 03 MinNow PIC 99. + 03 SecNow PIC 99. + 03 FILLER PIC 99. + 02 GMT. + 03 GMTDiff PIC X. + 88 GMTNotSupported VALUE "0". + 03 GMTHours PIC 99. + 03 GMTMins PIC 99. + +01 BillDate PIC 9(8). +01 DateNowInt PIC 9(8). +01 DaysOverdue PIC S999. +01 NumOfDays PIC 999. + +01 IntFutureDate PIC 9(8). +01 FutureDate PIC 9(8). +01 DisplayDate REDEFINES FutureDate. + 02 YearD PIC 9999. + 02 MonthD PIC 99. + 02 DayD PIC 99. + +01 DateCheck PIC 9(8) VALUE ZEROS. + 88 DateIsNotValid VALUE ZEROS. + 88 DateIsValid VALUE 1 THRU 99999999. + +PROCEDURE DIVISION. +Begin. +*> eg1 This example gets the current date and displays +*> the constituent parts. + DISPLAY "eg1 - get the current date" + MOVE FUNCTION CURRENT-DATE TO DateAndTimeNow + DISPLAY "Current Date is " + MonthNow "/" DayNow "/" YearNow + DISPLAY "Current Time is " + HourNow ":" MinNow ":" SecNow + IF GMTNotSupported + DISPLAY "This computer cannot supply the time" + DISPLAY "difference between local and GMT." + ELSE + DISPLAY "The local time is - GMT " + GMTDiff GMTHours ":" GMTMins + END-IF. + +*> eg2. In this example bills fall due 30 days from +*> the billing date. + DISPLAY SPACES + DISPLAY "eg2 - find the difference between two dates" + DISPLAY "Enter the date of the bill (yyyymmdd) - " WITH NO ADVANCING + ACCEPT BillDate + MOVE DateNow TO DateNowInt + COMPUTE DaysOverDue = + (FUNCTION INTEGER-OF-DATE(DateNowInt)) + - (FUNCTION INTEGER-OF-DATE(BillDate) + 30) + + EVALUATE TRUE + WHEN DaysOverDue > ZERO + DISPLAY "This bill is overdue." + WHEN DaysOverDue = ZERO + DISPLAY "This bill is due today." + WHEN DaysOverDue < ZERO + DISPLAY "This bill is not yet due." + END-EVALUATE + +*> eg3. This example displays the date NumOfDays days +*> from the current date + DISPLAY SPACES + DISPLAY "eg3 - find the date x days from now" + DISPLAY "Enter the number of days - " WITH NO ADVANCING + ACCEPT NumOfDays + COMPUTE IntFutureDate = FUNCTION INTEGER-OF-DATE(DateNowInt) + NumOfDays + 1 + MOVE FUNCTION DATE-OF-INTEGER(IntFutureDate) TO FutureDate + DISPLAY "The date in " NumOfDays " days time will be " + MonthD "/" DayD "/" YearD + +*> eg4. This takes advantage of the fact that DATE-OF-INTEGER +*> requires a valid date to do some easy date validation + + DISPLAY SPACES + DISPLAY "eg4 - validate the date" + PERFORM WITH TEST AFTER UNTIL DateIsValid + DISPLAY "Enter a valid date (yyyymmdd) - " WITH NO ADVANCING + ACCEPT DateNowInt + COMPUTE DateCheck = FUNCTION INTEGER-OF-DATE(DateNowInt) + IF DateIsNotValid + DISPLAY DateNowInt " is not a valid date" + DISPLAY SPACES + END-IF + END-PERFORM + DISPLAY "Thank you! " DateNowInt " is a valid date." + + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-2.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-2.cbl new file mode 100644 index 0000000..8e848be --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-2.cbl @@ -0,0 +1,29 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-2. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 TextLine PIC X(80). + +01 Letters PIC X(26) VALUE "ABCDEFGHIJKLMNOPQRSTUVWXYZ". + +01 LetterPos PIC 99. + +01 LetterCount PIC 99. + +01 PrnLetterCount PIC Z9. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter text : " WITH NO ADVANCING + ACCEPT TextLine + PERFORM VARYING LetterPos FROM 1 BY 1 UNTIL LetterPos > 26 + MOVE ZEROS TO LetterCount + INSPECT FUNCTION UPPER-CASE(TextLine) + TALLYING LetterCount FOR ALL Letters(LetterPos:1) + IF LetterCount > ZERO + MOVE LetterCount TO PrnLetterCount + DISPLAY "Letter " Letters(LetterPos:1) " occurs " PrnLetterCount " times" + END-IF + END-PERFORM + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-3.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-3.cbl new file mode 100644 index 0000000..131cc4d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-3.cbl @@ -0,0 +1,25 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-3. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 TextLine PIC X(80). + +01 VowelCount PIC 99 VALUE ZERO. + +01 ConsonantCount PIC 99 VALUE ZERO. + +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter text : " WITH NO ADVANCING + ACCEPT TextLine + INSPECT FUNCTION UPPER-CASE(TextLine) TALLYING + VowelCount FOR ALL "A" "E" "I" "O" "U" + ConsonantCount FOR ALL + "B" "C" "D" "F" "G" "H" "J" "K" "L" "M" "N" "P" + "Q" "R" "S" "T" "V" "W" "X" "Y" "Z" + + DISPLAY "The line contains " VowelCount " vowels and " + ConsonantCount " consonants." + STOP RUN. + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-4.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-4.cbl new file mode 100644 index 0000000..8a5da7a --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-4.cbl @@ -0,0 +1,27 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-4. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 TextLine. + 02 Letter PIC X OCCURS 80 TIMES. + 88 Vowel VALUE "A" "E" "I" "O" "U". + 88 Consonant VALUE "B" "C" "D" "F" "G" "H" "J" "K" "L" "M" "N" "P" + "Q" "R" "S" "T" "V" "W" "X" "Y" "Z". +01 VowelCount PIC 99 VALUE ZERO. +01 ConsonantCount PIC 99 VALUE ZERO. +01 idx PIC 99. +PROCEDURE DIVISION. +Begin. + DISPLAY "Enter text : " WITH NO ADVANCING + ACCEPT TextLine + MOVE FUNCTION UPPER-CASE(TextLine) TO TextLine + PERFORM VARYING idx FROM 1 BY 1 UNTIL idx > 80 + IF Vowel(idx) ADD 1 TO VowelCount + ELSE IF Consonant(idx) ADD 1 TO ConsonantCount + END-IF + END-PERFORM + DISPLAY "The line contains " VowelCount " vowels and " + ConsonantCount " consonants." + STOP RUN. + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-6.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-6.cbl new file mode 100644 index 0000000..0cc999f --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-6.cbl @@ -0,0 +1,44 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-6. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 DateStr PIC X(15). + +01 DateRec. + 02 DayStr PIC XX. + 02 MonthStr PIC XX. + 02 YearStr PIC X(4). + +PROCEDURE DIVISION. +Begin. +*>Unstring example 2 + MOVE "19-08-2012" TO DateStr. + UNSTRING DateStr INTO DayStr, MonthStr, YearStr + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING. + DISPLAY DayStr SPACE MonthStr SPACE YearStr + DISPLAY "__________________________" + DISPLAY SPACES + +*>Unstring example 3 + MOVE "25-07-2013lost" TO DateStr. + UNSTRING DateStr DELIMITED BY "-" + INTO DayStr, MonthStr, YearStr + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING. + DISPLAY DayStr SPACE MonthStr SPACE YearStr + DISPLAY "__________________________" + DISPLAY SPACES + +*>Unstring example 4 + MOVE "30end06end2014" TO DateStr. + UNSTRING DateStr DELIMITED BY "end" + INTO DayStr, MonthStr, YearStr + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING. + DISPLAY DayStr SPACE MonthStr SPACE YearStr + + STOP RUN. + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-7.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-7.cbl new file mode 100644 index 0000000..e1c307b --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-7.cbl @@ -0,0 +1,54 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-7. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 DateStr PIC X(15). + +01 DateRec. + 02 DayStr PIC XX. + 02 MonthStr PIC XX. + 02 YearStr PIC X(4). + +01 Delims. + 02 HoldDelim OCCURS 3 TIMES PIC X. + +PROCEDURE DIVISION. +Begin. +*>Unstring example 5 + MOVE "15---07--2013" TO DateStr. + UNSTRING DateStr DELIMITED BY ALL "-" + INTO DayStr, MonthStr, YearStr + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING + DISPLAY DayStr SPACE MonthStr SPACE YearStr + DISPLAY "__________________________" + DISPLAY SPACES + +*>Unstring example 6 + MOVE "15---07--2013" TO DateStr. + UNSTRING DateStr DELIMITED BY "-" + INTO DayStr + MonthStr + YearStr + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING + DISPLAY DayStr SPACE MonthStr SPACE YearStr + DISPLAY "__________________________" + DISPLAY SPACES + +*>Unstring example 7 + MOVE "15/07-----2013@" TO DateStr + UNSTRING DateStr DELIMITED BY "/" OR "@" OR ALL "-" + INTO DayStr DELIMITER in HoldDelim(1) + MonthStr DELIMITER in HoldDelim(2) + YearStr DELIMITER in HoldDelim(3) + ON OVERFLOW DISPLAY "Characters unexamined" + END-UNSTRING + DISPLAY HoldDelim(1) " delimits " DayStr + DISPLAY HoldDelim(2) " delimits " MonthStr + DISPLAY HoldDelim(3) " delimits " YearStr + + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-8.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-8.cbl new file mode 100644 index 0000000..b7bb4d4 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-8.cbl @@ -0,0 +1,40 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-8. +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 OldName PIC X(80). + +01 TempName. + 02 NameInitial PIC X. + 02 FILLER PIC X(19). + +01 NewName PIC X(30). + +01 UnstrPtr PIC 99. + 88 NameProcessed VALUE 81. + +01 StrPtr PIC 99. + +PROCEDURE DIVISION. +ProcessName. + DISPLAY "Enter a name - " WITH NO ADVANCING + ACCEPT OldName + MOVE 1 TO UnstrPtr, StrPtr + UNSTRING OldName DELIMITED BY ALL SPACES + INTO TempName WITH POINTER UnstrPtr + END-UNSTRING + PERFORM UNTIL NameProcessed + STRING NameInitial "." SPACE DELIMITED BY SIZE + INTO NewName WITH POINTER StrPtr + END-STRING + UNSTRING OldName DELIMITED BY ALL SPACES + INTO TempName WITH POINTER UnstrPtr + END-UNSTRING + END-PERFORM + STRING TempName DELIMITED BY SIZE + INTO NewName WITH POINTER StrPtr + END-STRING + DISPLAY "Processed name = " NewName + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch15/Listing15-9.cbl b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-9.cbl new file mode 100644 index 0000000..a8149e1 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch15/Listing15-9.cbl @@ -0,0 +1,99 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing15-9. +AUTHOR. Michael Coughlan. +*> Intrinsic Function examples + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 OrdPos PIC 99. + +01 TableValues VALUE "123411457429130938637306851419883522700467". + 02 Num PIC 99 OCCURS 21 TIMES. + +01 idx PIC 9. + +01 xString PIC X(45) + VALUE "This string is 33 characters long". + +01 xWord PIC X(10). + +01 CharCount PIC 99. + +01 TextLength PIC 99. + +PROCEDURE DIVISION. +Begin. +*> eg1. In the ASCII collating sequence W has a code of 87 but an ordinal +*> position of 88. + DISPLAY "eg1. The character in position 88 is = " FUNCTION CHAR(88) + +*> eg2. Using ordinal positions to spell out my name + DISPLAY SPACES + DISPLAY "eg2. My name is " FUNCTION CHAR(78) FUNCTION CHAR(106) + FUNCTION CHAR(108) FUNCTION CHAR(102) + +*> eg3. Finding the ordinal position of a particular character + DISPLAY SPACES + MOVE FUNCTION ORD("A") TO OrdPos + DISPLAY "eg3. The ordinal position of A is = " OrdPos + +*> eg4. Using CHAR and ORD in combination to display the sixth letter of the alphabet + DISPLAY SPACES + DISPLAY "eg4. The sixth letter of the alphabet is " + FUNCTION CHAR(FUNCTION ORD("A") + 5) + +*> eg5. Finding the position of the highest value in a list of parameters + DISPLAY SPACES + MOVE FUNCTION ORD-MAX("t" "b" "x" "B" "4" "s" "b") TO OrdPos + DISPLAY "eg5. Highest character in the list is at pos " OrdPos + +*> eg6. Finding the position of the lowest value in a list of parameters + DISPLAY SPACES + MOVE FUNCTION ORD-MIN("t" "b" "x" "B" "4" "s" "b") TO OrdPos + DISPLAY "eg6. Lowest character in the list is at pos " OrdPos + +*> eg7.Finding the position of the highest value in a table + DISPLAY SPACES + MOVE FUNCTION ORD-MAX(Num(ALL)) TO OrdPos + DISPLAY "eg7. Highest value in the table is at pos " OrdPos + +*> eg8. Finding the highest value in a table + DISPLAY SPACES + DISPLAY "eg8. Highest value in the table = " Num(FUNCTION ORD-MAX(Num(ALL))) + +*> eg9. Finds the top three values in a table by finding the top +*> overwrites it with zeros to remove it from consideration +*> then finds the next top and so on + DISPLAY SPACES + DISPLAY "eg9." + PERFORM VARYING idx FROM 1 BY 1 UNTIL idx > 3 + DISPLAY "TopPos " idx " = " Num(FUNCTION ORD-MAX(Num(ALL))) + MOVE ZEROS TO Num(FUNCTION ORD-MAX(Num(ALL))) + END-PERFORM + +*> eg10. Finding the length of a string + DISPLAY SPACES + DISPLAY "eg10. The length of xString is " FUNCTION LENGTH(xString) " characters" + +*> eg11. Finding the length of the text in a string + DISPLAY SPACES + INSPECT FUNCTION REVERSE(xString) TALLYING CharCount + FOR LEADING SPACES + COMPUTE TextLength = FUNCTION LENGTH(xString) - CharCount + DISPLAY "eg11. The length of text in xString is " TextLength " characters" + +*> eg12. Discover if a word is a palindrome + DISPLAY SPACES + DISPLAY "eg12." + MOVE ZEROS TO CharCount + DISPLAY "Enter a word - " WITH NO ADVANCING + ACCEPT xWord + INSPECT FUNCTION REVERSE(xWord) TALLYING CharCount + FOR LEADING SPACES + IF FUNCTION UPPER-CASE(xWord(1:FUNCTION LENGTH(xWord) - CharCount)) EQUAL TO + FUNCTION UPPER-CASE(FUNCTION REVERSE(xWord(1:FUNCTION LENGTH(xWord)- CharCount))) + DISPLAY xWord " is a palindrome" + ELSE + DISPLAY xWord " is not a palindrome" + END-IF + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Copybook1.cpy b/978-1-4302-6253-4_Coughlan_Ch16/Copybook1.cpy new file mode 100644 index 0000000..42af505 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Copybook1.cpy @@ -0,0 +1,2 @@ + 02 CustomerName PIC X(S). +* S is a textword because it is bounded by the ( and ) delimiters diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Copybook2.cpy b/978-1-4302-6253-4_Coughlan_Ch16/Copybook2.cpy new file mode 100644 index 0000000..ae67c67 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Copybook2.cpy @@ -0,0 +1,2 @@ + 02 CustomerOrder PIC 9(6)V99. +*V99 is a textword because it is bounded by ) and . delimiters \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Copybook3.cpy b/978-1-4302-6253-4_Coughlan_Ch16/Copybook3.cpy new file mode 100644 index 0000000..9074d60 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Copybook3.cpy @@ -0,0 +1,3 @@ + 02 CustKey PIC X(7) VALUE "CustKey". +* "CustKey" including the quotes is a text word +* CustKey is a different text word diff --git a/978-1-4302-6253-4_Coughlan_Ch16/EG-Lib/StudentNameTable.cpy b/978-1-4302-6253-4_Coughlan_Ch16/EG-Lib/StudentNameTable.cpy new file mode 100644 index 0000000..792df82 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/EG-Lib/StudentNameTable.cpy @@ -0,0 +1,2 @@ +* StudentNameTable + 02 StudSurname PIC X(12) OCCURS XYZ TIMES. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-1.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-1.cbl new file mode 100644 index 0000000..11bccce --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-1.cbl @@ -0,0 +1,58 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-1. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Increment PIC 99 VALUE ZERO. + 88 EndOfData VALUE ZERO. + +PROCEDURE DIVISION. +Begin. +*> Demonstrates the difference between Steady +*> and Dynamic. Entering a zero ends the iteration + DISPLAY "Enter an increment value (0-99) - " WITH NO ADVANCING + ACCEPT Increment + PERFORM UNTIL EndOfData + CALL "Steady" USING BY CONTENT Increment + CALL "Dynamic" USING BY CONTENT Increment + DISPLAY SPACES + DISPLAY "Enter an increment value (0-99) - " WITH NO ADVANCING + ACCEPT Increment + END-PERFORM + STOP RUN. + + +IDENTIFICATION DIVISION. +PROGRAM-ID. Dynamic. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 RunningTotal PIC 9(5) VALUE ZERO. +01 PrnTotal PIC ZZ,ZZ9. + +LINKAGE SECTION. +01 ValueToAdd PIC 99. +PROCEDURE DIVISION USING ValueToAdd. +Begin. + ADD ValueToAdd TO RunningTotal + MOVE RunningTotal TO PrnTotal + DISPLAY "Dynamic total = " PrnTotal + EXIT PROGRAM. +END PROGRAM Dynamic. + + +IDENTIFICATION DIVISION. +PROGRAM-ID. Steady IS INITIAL. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 RunningTotal PIC 9(5) VALUE ZERO. +01 PrnTotal PIC ZZ,ZZ9. + +LINKAGE SECTION. +01 ValueToAdd PIC 99. +PROCEDURE DIVISION USING ValueToAdd . +Begin. + ADD ValueToAdd TO RunningTotal + MOVE RunningTotal TO PrnTotal + DISPLAY "Steady total = " PrnTotal + EXIT PROGRAM. +END PROGRAM Steady. +END PROGRAM Listing16-1. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2.cbl new file mode 100644 index 0000000..c537f39 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2.cbl @@ -0,0 +1,26 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-2. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 StudentId PIC 9(7). + +01 ValidationResult PIC 9. + 88 ValidStudentId VALUE ZERO. + 88 InvalidStudentId VALUE 1. + +PROCEDURE DIVISION. +Begin. + PERFORM 3 TIMES + DISPLAY "Enter a Student Id : " WITH NO ADVANCING + ACCEPT StudentId + CALL "ValidateCheckDigit" USING BY CONTENT StudentID + BY REFERENCE ValidationResult + IF ValidStudentId + DISPLAY "The Student id - " StudentId " - is valid" + ELSE + DISPLAY "The Student id - " StudentId " - is not valid" + END-IF + DISPLAY SPACES + END-PERFORM + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2sub.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2sub.cbl new file mode 100644 index 0000000..d68ca8c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-2sub.cbl @@ -0,0 +1,33 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. ValidateCheckDigit IS INITIAL. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 SumOfNums PIC 9(5). +01 Quotient PIC 9(5). +01 CalcResult PIC 99. + +LINKAGE SECTION. +01 NumToValidate. + 02 D1 PIC 9. + 02 D2 PIC 9. + 02 D3 PIC 9. + 02 D4 PIC 9. + 02 D5 PIC 9. + 02 D6 PIC 9. + 02 D7 PIC 9. + +01 Result PIC 9. + 88 InvalidCheckDigit VALUE 1. + 88 ValidCheckDigit VALUE 0. + +PROCEDURE DIVISION USING NumToValidate, Result. +*> Returns a Result of 1 (invalid check digit) or 0 (valid check digit) +Begin. + COMPUTE SumOfNums = (D1 * 7) + (D2 * 6) + (D3 * 5) + (D4 * 4) + (D5 * 3) + (D6 * 2) + (D7). + DIVIDE SumOfNums BY 11 GIVING Quotient REMAINDER CalcResult + IF CalcResult EQUAL TO ZERO + SET ValidCheckDigit TO TRUE + ELSE + SET InvalidCheckDigit TO TRUE + END-IF + EXIT PROGRAM. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-3.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-3.cbl new file mode 100644 index 0000000..b77e00b --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-3.cbl @@ -0,0 +1,94 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-3. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 DaysOfTheWeek VALUE "MonTueWedThuFriSatSun" IS GLOBAL. + 02 DayName PIC XXX OCCURS 7 TIMES. + +01 Parameters. + 02 Number1 PIC 9(3) VALUE 456. + 02 Number2 PIC 9(3) VALUE 321. + 02 FirstString PIC X(20) VALUE "First parameter = ". + 02 SecondString PIC X(20) VALUE "Second parameter = ". + 02 Result PIC 9(6) USAGE IS COMP. + 02 DiscountTable VALUE "12430713862362". + 03 Discount PIC 99 OCCURS 7 TIMES. + +01 PrnResult PIC ZZZ,ZZ9. + +PROCEDURE DIVISION. +DemoParameterPassing. + DISPLAY "FirstString value is - " FirstString + DISPLAY "SecondString value is - " SecondString + + CALL "MultiplyNums" + USING BY CONTENT Number1, Number2, FirstString, + BY REFERENCE SecondString, Result + BY CONTENT DiscountTable + + DISPLAY SPACES + DISPLAY "FirstString value is - " FirstString + DISPLAY "SecondString value is - " SecondString + MOVE Result TO PrnResult + DISPLAY "COMP value is " PrnResult + STOP RUN. + + +IDENTIFICATION DIVISION. +PROGRAM-ID. MultiplyNums. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 idx PIC 9. + +LINKAGE SECTION. +01 Param1 PIC 9(3). +01 Param2 PIC 9(3). +01 Answer PIC 9(6) USAGE IS COMP. +01 StrA PIC X(20). +01 StrB PIC X(20). +01 TableIn. + 02 TNum PIC 99 OCCURS 7 TIMES. + + +PROCEDURE DIVISION USING Param1, Param2, StrA, StrB, Answer, TableIn. +Begin. + DISPLAY SPACES + DISPLAY ">>> In the MultiplyNums subprogram" + DISPLAY StrA Param1 + DISPLAY StrB Param2 + MULTIPLY Param1 BY Param2 GIVING Answer. + +*> Displays table values. One passed as a parameter and the other global + DISPLAY SPACES + PERFORM VARYING idx FROM 1 BY 1 UNTIL idx > 7 + DISPLAY DayName(idx) " discount is " Tnum(idx) "%" + END-PERFORM + +*> Transfer control to a subprogram contained within MultiplyNums + CALL "InnerSubProg" + + +*> Demonstrates the difference between BY CONTENT and BY REFERENCE. + MOVE "VALUE OVERWRITTEN" TO StrA + MOVE "VALUE OVERWRITTEN" TO StrB + DISPLAY SPACES + DISPLAY "<<<< Leaving MultiplyNums" + EXIT PROGRAM. + +IDENTIFICATION DIVISION. +PROGRAM-ID. InnerSubProg. +AUTHOR. Michael Coughlan. +PROCEDURE DIVISION. +Begin. +*> Demonstrates that the GLOBAL data item is even visible here + DISPLAY SPACES + DISPLAY ">>>> In InnerSubProg" + DISPLAY "Days of the week = " DaysOfTheWeek + DISPLAY "<<<< Leaving InnerSubProg" + EXIT PROGRAM. + +END PROGRAM InnerSubProg. +END PROGRAM MultiplyNums. +END PROGRAM LISTING16-3. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-4.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-4.cbl new file mode 100644 index 0000000..eb8e17d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-4.cbl @@ -0,0 +1,92 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-4. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Operation PIC XXX. +01 NumericValue PIC 999. + 88 EndOfData VALUE ZEROS. + +01 FILLER PIC 9. + 88 ValidSubprogName VALUE ZERO. + 88 InvalidSubprogName VALUE 1. + +PROCEDURE DIVISION. +Begin. + PERFORM 3 TIMES + SET ValidSubprogName TO TRUE + DISPLAY SPACES + DISPLAY "Enter the required operation (Dec or Inc) : " WITH NO ADVANCING + ACCEPT Operation + DISPLAY "Enter a three digit value : " WITH NO ADVANCING + ACCEPT NumericValue + PERFORM UNTIL EndofData OR InvalidSubprogName + CALL Operation USING BY CONTENT NumericValue + ON EXCEPTION DISPLAY Operation " is not a valid operation" + SET InvalidSubprogName TO TRUE + NOT ON EXCEPTION SET ValidSubprogName TO TRUE + DISPLAY "Enter a three digit value : " + WITH NO ADVANCING + ACCEPT NumericValue + END-CALL + END-PERFORM + CANCEL Operation + END-PERFORM + STOP RUN. + + +IDENTIFICATION DIVISION. +PROGRAM-ID. Inc. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 RunningTotal PIC S9(5) VALUE ZEROS. + +LINKAGE SECTION. +01 ValueIn PIC 9(3). + +PROCEDURE DIVISION USING ValueIn. +Begin. + ADD ValueIn TO RunningTotal + CALL "DisplayTotal" USING BY CONTENT RunningTotal + EXIT PROGRAM. +END PROGRAM Inc. + + + +IDENTIFICATION DIVISION. +PROGRAM-ID. Dec. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 RunningTotal PIC S9(5) VALUE ZEROS. + +LINKAGE SECTION. +01 ValueIn PIC 9(3). + +PROCEDURE DIVISION USING ValueIn. +Begin. + SUBTRACT ValueIn FROM RunningTotal + CALL "DisplayTotal" USING BY CONTENT RunningTotal + EXIT PROGRAM. +END PROGRAM Dec. + + + +IDENTIFICATION DIVISION. +PROGRAM-ID. DisplayTotal IS COMMON INITIAL PROGRAM. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 PrnValue PIC +++,++9. + +LINKAGE SECTION. +01 ValueIn PIC S9(5). + +PROCEDURE DIVISION USING ValueIn. +Begin. + MOVE ValueIn TO PrnValue + DISPLAY "The current value is " PrnValue + EXIT PROGRAM. +END PROGRAM DisplayTotal. +END PROGRAM LISTING16-4. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5.cbl new file mode 100644 index 0000000..d68cbb9 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5.cbl @@ -0,0 +1,133 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-5. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Parameters. + 02 StateNum PIC 99. + 02 StateCode PIC XX. + 02 StateName PIC X(14). + 02 StateCapital PIC X(14). + 02 StatePop PIC 9(8). + 02 ErrorFlag PIC 9. + +01 idx PIC 99. + +* Receiving item for TIME: Format is HHMMSSss s = S/100 +01 CurrentTime. + 02 FILLER PIC 9(4). + 02 Seed PIC 9(4). +01 RandState PIC 99. +01 RandChoice PIC 9. + +01 Answer PIC X(14). +01 PopAnswer PIC 9(8). +01 MinPop PIC 9(8). +01 MaxPop PIC 9(8). +01 PrnStatePop PIC ZZ,ZZZ,ZZ9. +01 StrLength PIC 99. + + +PROCEDURE DIVISION. +Begin. + ACCEPT CurrentTime FROM TIME + COMPUTE RandState = FUNCTION RANDOM(Seed) + PERFORM 8 TIMES + COMPUTE RandState = (FUNCTION RANDOM * 50) + 1 + COMPUTE RandChoice = (FUNCTION RANDOM * 4) + 1 + CALL "GetStateInfo" + USING BY REFERENCE RandState, StateCode, StateName, + StateCapital, StatePop, ErrorFlag + EVALUATE RandChoice + WHEN 1 PERFORM TestCapitalFromState + WHEN 2 PERFORM TestCodeFromState + WHEN 3 PERFORM TestPopFromState + WHEN 4 PERFORM TestStateFromCapital + END-EVALUATE + DISPLAY SPACES + END-PERFORM + STOP RUN. + + +TestCapitalFromState. + CALL "GetStringLength" USING BY CONTENT StateName + BY REFERENCE StrLength + DISPLAY "What is the capital of " StateName(1:StrLength) "? " + WITH NO ADVANCING + ACCEPT Answer + IF FUNCTION UPPER-CASE(Answer) = FUNCTION UPPER-CASE(StateCapital) + DISPLAY "That is correct" + ELSE + DISPLAY "That is incorrect. The capital of " StateName(1:StrLength) + " is " StateCapital + END-IF. + + +TestCodeFromState. + CALL "GetStringLength" USING BY CONTENT StateName + BY REFERENCE StrLength + DISPLAY "What is the state code for " StateName(1:StrLength) "? " + WITH NO ADVANCING + ACCEPT Answer + IF FUNCTION UPPER-CASE(Answer) = FUNCTION UPPER-CASE(StateCode) + DISPLAY "That is correct" + ELSE + DISPLAY "That is incorrect. The code for " StateName(1:StrLength) + " is " StateCode + END-IF. + + +TestPopFromState. + CALL "GetStringLength" USING BY CONTENT StateName + BY REFERENCE StrLength + DISPLAY "What is the population of " StateName(1:StrLength) "? " + WITH NO ADVANCING + ACCEPT PopAnswer + COMPUTE MinPop = PopAnswer - (PopAnswer * 0.25) + COMPUTE MaxPop = PopAnswer + (PopAnswer * 0.25) + MOVE StatePop TO PrnStatePop + IF StatePop > MinPop AND < MaxPop + DISPLAY "That answer is close enough. The actual population is " PrnStatePop + ELSE + DISPLAY "That is incorrect. The population of " StateName(1:StrLength) + " is " PrnStatePop + END-IF. + + +TestStateFromCapital. + CALL "GetStringLength" USING BY CONTENT StateCapital + BY REFERENCE StrLength + DISPLAY "Of what state is " StateCapital(1:StrLength) " the capital? " + WITH NO ADVANCING + ACCEPT Answer + IF FUNCTION UPPER-CASE(Answer) = FUNCTION UPPER-CASE(StateName) + DISPLAY "That is correct" + ELSE + DISPLAY "That is incorrect. The state for " StateCapital(1:StrLength) + " is " StateName + END-IF. + + + +IDENTIFICATION DIVISION. +PROGRAM-ID. GetStringLength IS INITIAL. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CharCount PIC 99 VALUE ZEROS. + +LINKAGE SECTION. +01 StringParam PIC X(14). +01 StringLength PIC 99. + +PROCEDURE DIVISION USING StringParam, StringLength. +Begin. + INSPECT FUNCTION REVERSE(StringParam) TALLYING CharCount + FOR LEADING SPACES + COMPUTE StringLength = 14 - CharCount + EXIT PROGRAM. +END PROGRAM GetStringLength. +END PROGRAM Listing16-5. + + + diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5sub.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5sub.cbl new file mode 100644 index 0000000..9e66e57 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-5sub.cbl @@ -0,0 +1,139 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. GetStateInfo IS INITIAL. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 StatesTable. + 02 StateValues. + 03 FILLER PIC X(38) VALUE "ALAlabama Montgomery 04822023". + 03 FILLER PIC X(38) VALUE "AKAlaska Juneau 00731449". + 03 FILLER PIC X(38) VALUE "AZArizona Phoenix 06553255". + 03 FILLER PIC X(38) VALUE "ARArkansas Little Rock 02949131". + 03 FILLER PIC X(38) VALUE "CACalifornia Sacramento 38041430". + 03 FILLER PIC X(38) VALUE "COColorado Denver 05187582". + 03 FILLER PIC X(38) VALUE "CTConnecticut Hartford 03590347". + 03 FILLER PIC X(38) VALUE "DEDelaware Dover 00917092". + 03 FILLER PIC X(38) VALUE "FLFlorida Tallahassee 19317568". + 03 FILLER PIC X(38) VALUE "GAGeorgia Atlanta 09919945". + 03 FILLER PIC X(38) VALUE "HIHawaii Honolulu 01392313". + 03 FILLER PIC X(38) VALUE "IDIdaho Boise 01595728". + 03 FILLER PIC X(38) VALUE "ILIllinois Springfield 12875255". + 03 FILLER PIC X(38) VALUE "INIndiana Indianapolis 06537334". + 03 FILLER PIC X(38) VALUE "IAIowa Des Moines 03074186". + 03 FILLER PIC X(38) VALUE "KSKansas Topeka 02885905". + 03 FILLER PIC X(38) VALUE "KYKentucky Frankfort 04380415". + 03 FILLER PIC X(38) VALUE "LALouisiana Baton Rouge 04601893". + 03 FILLER PIC X(38) VALUE "MEMaine Augusta 01329192". + 03 FILLER PIC X(38) VALUE "MDMaryland Annapolis 05884563". + 03 FILLER PIC X(38) VALUE "MAMassachusetts Boston 06646144". + 03 FILLER PIC X(38) VALUE "MIMichigan Lansing 09883360". + 03 FILLER PIC X(38) VALUE "MNMinnesota Saint Paul 05379139". + 03 FILLER PIC X(38) VALUE "MSMississippi Jackson 02984926". + 03 FILLER PIC X(38) VALUE "MOMissouri Jefferson City06021988". + 03 FILLER PIC X(38) VALUE "MTMontana Helena 01005141". + 03 FILLER PIC X(38) VALUE "NENebraska Lincoln 01855525". + 03 FILLER PIC X(38) VALUE "NVNevada Carson City 02758931". + 03 FILLER PIC X(38) VALUE "NHNew Hampshire Concord 01320718". + 03 FILLER PIC X(38) VALUE "NJNew Jersey Trenton 08864590". + 03 FILLER PIC X(38) VALUE "NMNew Mexico Santa Fe 02085538". + 03 FILLER PIC X(38) VALUE "NYNew York Albany 19570261". + 03 FILLER PIC X(38) VALUE "NCNorth CarolinaRaleigh 09752073". + 03 FILLER PIC X(38) VALUE "NDNorth Dakota Bismarck 00699628". + 03 FILLER PIC X(38) VALUE "OHOhio Columbus 11544225". + 03 FILLER PIC X(38) VALUE "OKOklahoma Oklahoma City 03814820". + 03 FILLER PIC X(38) VALUE "OROregon Salem 03899353". + 03 FILLER PIC X(38) VALUE "PAPennsylvania Harrisburg 12763536". + 03 FILLER PIC X(38) VALUE "RIRhode Island Providence 01050292". + 03 FILLER PIC X(38) VALUE "SCSouth CarolinaColumbia 04723723". + 03 FILLER PIC X(38) VALUE "SDSouth Dakota Pierre 00833354". + 03 FILLER PIC X(38) VALUE "TNTennessee Nashville 06456243". + 03 FILLER PIC X(38) VALUE "TXTexas Austin 26059203". + 03 FILLER PIC X(38) VALUE "UTUtah Salt Lake City02855287". + 03 FILLER PIC X(38) VALUE "VTVermont Montpelier 00626011". + 03 FILLER PIC X(38) VALUE "VAVirginia Richmond 08185867". + 03 FILLER PIC X(38) VALUE "WAWashington Olympia 06897012". + 03 FILLER PIC X(38) VALUE "WVWest Virginia Charleston 01855413". + 03 FILLER PIC X(38) VALUE "WIWisconsin Madison 05726398". + 03 FILLER PIC X(38) VALUE "WYWyoming Cheyenne 00576412". + 02 FILLER REDEFINES StateValues. + 03 State OCCURS 50 TIMES + INDEXED BY StateIdx. + 04 StateCode PIC XX. + 04 StateName PIC X(14). + 04 StateCapital PIC X(14). + 04 StatePop PIC 9(8). + +LINKAGE SECTION. +01 StateNum-IO PIC 99. + 88 ValidStateNum VALUE 1 THRU 50. +01 StateCode-IO PIC XX. +01 StateName-IO PIC X(14). +01 StateCapital-IO PIC X(14). +01 StatePop-IO PIC 9(8). +01 ErrorFlag PIC 9. + 88 NoErrorFound VALUE ZERO. + 88 InvalidStateNum VALUE 1. + 88 NoSearchItems VALUE 2. + 88 NoSuchStateCode VALUE 3. + 88 NoSuchStateName VALUE 4. + 88 NoSuchCapital VALUE 5. + +PROCEDURE DIVISION USING StateNum-IO, StateCode-IO, StateName-IO, + StateCapital-IO, StatePop-IO, ErrorFlag. +Begin. + SET NoErrorFound TO TRUE + SET StateIdx TO 1 + EVALUATE TRUE + WHEN StateNum-IO NOT EQUAL ZEROS PERFORM SearchUsingStateNum + WHEN StateCode-IO NOT EQUAL SPACES PERFORM SearchUsingStateCode + WHEN StateName-IO NOT EQUAL SPACES PERFORM SearchUsingStateName + WHEN StateCapital-IO NOT EQUAL SPACES PERFORM SearchUsingStateCapital + WHEN OTHER SET NoSearchItems TO TRUE + END-EVALUATE + EXIT PROGRAM. + +SearchUsingStateNum. + IF NOT ValidStateNum SET InvalidStateNum TO TRUE + ELSE + MOVE StateCode(StateNum-IO) TO StateCode-IO + MOVE StateName(StateNum-IO) TO StateName-IO + MOVE StateCapital(StateNum-IO) TO StateCapital-IO + MOVE StatePop(StateNum-IO) TO StatePop-IO + END-IF. + + +SearchUsingStateCode. + SEARCH State + AT END SET NoSuchStateCode TO TRUE + WHEN FUNCTION UPPER-CASE(StateCode(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateCode-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. + +SearchUsingStateName. + SEARCH State + AT END SET NoSuchStateName TO TRUE + WHEN FUNCTION UPPER-CASE(StateName(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateName-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. + +SearchUsingStateCapital. + SEARCH State + AT END SET NoSuchCapital TO TRUE + WHEN FUNCTION UPPER-CASE(StateCapital(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateCapital-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6.cbl new file mode 100644 index 0000000..c9ce573 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6.cbl @@ -0,0 +1,52 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-6. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Parameters. + 02 StateNum PIC 99. + 02 StateCode PIC XX. + 02 StateName PIC X(14). + 02 StateCapital PIC X(14). + 02 StatePop PIC 9(8). + 02 ErrorFlag PIC 9. + 88 NoError VALUE ZERO. + +* Receiving item for TIME: Format is HHMMSSss s = S/100 +01 CurrentTime. + 02 FILLER PIC 9(4). + 02 Seed PIC 9(4). +01 RandChoice PIC 9. +01 PrnStatePop PIC ZZ,ZZZ,ZZ9. + +PROCEDURE DIVISION. +Begin. + ACCEPT CurrentTime FROM TIME + COMPUTE RandChoice = FUNCTION RANDOM(Seed) + PERFORM 8 TIMES + DISPLAY SPACES + INITIALIZE Parameters + COMPUTE RandChoice = (FUNCTION RANDOM * 4) + 1 + EVALUATE RandChoice + WHEN 1 DISPLAY "Enter a state number - " WITH NO ADVANCING + ACCEPT StateNum + WHEN 2 DISPLAY "Enter a two letter code - " WITH NO ADVANCING + ACCEPT StateCode + WHEN 3 DISPLAY "Enter a state name - " WITH NO ADVANCING + ACCEPT StateName + WHEN 4 DISPLAY "Enter a state capital - " WITH NO ADVANCING + ACCEPT StateCapital + END-EVALUATE + CALL "GetStateInfo" + USING BY REFERENCE StateNum, StateCode, StateName, + StateCapital, StatePop, ErrorFlag + IF NoError + MOVE StatePop TO PrnStatePop + DISPLAY StateNum ". " StateCode SPACE StateName + SPACE StateCapital SPACE PrnStatePop + ELSE + DISPLAY "There was an error. Error Code = " ErrorFlag + END-IF + END-PERFORM + STOP RUN. + diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6sub.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6sub.cbl new file mode 100644 index 0000000..9e66e57 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-6sub.cbl @@ -0,0 +1,139 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. GetStateInfo IS INITIAL. +AUTHOR. Michael Coughlan. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 StatesTable. + 02 StateValues. + 03 FILLER PIC X(38) VALUE "ALAlabama Montgomery 04822023". + 03 FILLER PIC X(38) VALUE "AKAlaska Juneau 00731449". + 03 FILLER PIC X(38) VALUE "AZArizona Phoenix 06553255". + 03 FILLER PIC X(38) VALUE "ARArkansas Little Rock 02949131". + 03 FILLER PIC X(38) VALUE "CACalifornia Sacramento 38041430". + 03 FILLER PIC X(38) VALUE "COColorado Denver 05187582". + 03 FILLER PIC X(38) VALUE "CTConnecticut Hartford 03590347". + 03 FILLER PIC X(38) VALUE "DEDelaware Dover 00917092". + 03 FILLER PIC X(38) VALUE "FLFlorida Tallahassee 19317568". + 03 FILLER PIC X(38) VALUE "GAGeorgia Atlanta 09919945". + 03 FILLER PIC X(38) VALUE "HIHawaii Honolulu 01392313". + 03 FILLER PIC X(38) VALUE "IDIdaho Boise 01595728". + 03 FILLER PIC X(38) VALUE "ILIllinois Springfield 12875255". + 03 FILLER PIC X(38) VALUE "INIndiana Indianapolis 06537334". + 03 FILLER PIC X(38) VALUE "IAIowa Des Moines 03074186". + 03 FILLER PIC X(38) VALUE "KSKansas Topeka 02885905". + 03 FILLER PIC X(38) VALUE "KYKentucky Frankfort 04380415". + 03 FILLER PIC X(38) VALUE "LALouisiana Baton Rouge 04601893". + 03 FILLER PIC X(38) VALUE "MEMaine Augusta 01329192". + 03 FILLER PIC X(38) VALUE "MDMaryland Annapolis 05884563". + 03 FILLER PIC X(38) VALUE "MAMassachusetts Boston 06646144". + 03 FILLER PIC X(38) VALUE "MIMichigan Lansing 09883360". + 03 FILLER PIC X(38) VALUE "MNMinnesota Saint Paul 05379139". + 03 FILLER PIC X(38) VALUE "MSMississippi Jackson 02984926". + 03 FILLER PIC X(38) VALUE "MOMissouri Jefferson City06021988". + 03 FILLER PIC X(38) VALUE "MTMontana Helena 01005141". + 03 FILLER PIC X(38) VALUE "NENebraska Lincoln 01855525". + 03 FILLER PIC X(38) VALUE "NVNevada Carson City 02758931". + 03 FILLER PIC X(38) VALUE "NHNew Hampshire Concord 01320718". + 03 FILLER PIC X(38) VALUE "NJNew Jersey Trenton 08864590". + 03 FILLER PIC X(38) VALUE "NMNew Mexico Santa Fe 02085538". + 03 FILLER PIC X(38) VALUE "NYNew York Albany 19570261". + 03 FILLER PIC X(38) VALUE "NCNorth CarolinaRaleigh 09752073". + 03 FILLER PIC X(38) VALUE "NDNorth Dakota Bismarck 00699628". + 03 FILLER PIC X(38) VALUE "OHOhio Columbus 11544225". + 03 FILLER PIC X(38) VALUE "OKOklahoma Oklahoma City 03814820". + 03 FILLER PIC X(38) VALUE "OROregon Salem 03899353". + 03 FILLER PIC X(38) VALUE "PAPennsylvania Harrisburg 12763536". + 03 FILLER PIC X(38) VALUE "RIRhode Island Providence 01050292". + 03 FILLER PIC X(38) VALUE "SCSouth CarolinaColumbia 04723723". + 03 FILLER PIC X(38) VALUE "SDSouth Dakota Pierre 00833354". + 03 FILLER PIC X(38) VALUE "TNTennessee Nashville 06456243". + 03 FILLER PIC X(38) VALUE "TXTexas Austin 26059203". + 03 FILLER PIC X(38) VALUE "UTUtah Salt Lake City02855287". + 03 FILLER PIC X(38) VALUE "VTVermont Montpelier 00626011". + 03 FILLER PIC X(38) VALUE "VAVirginia Richmond 08185867". + 03 FILLER PIC X(38) VALUE "WAWashington Olympia 06897012". + 03 FILLER PIC X(38) VALUE "WVWest Virginia Charleston 01855413". + 03 FILLER PIC X(38) VALUE "WIWisconsin Madison 05726398". + 03 FILLER PIC X(38) VALUE "WYWyoming Cheyenne 00576412". + 02 FILLER REDEFINES StateValues. + 03 State OCCURS 50 TIMES + INDEXED BY StateIdx. + 04 StateCode PIC XX. + 04 StateName PIC X(14). + 04 StateCapital PIC X(14). + 04 StatePop PIC 9(8). + +LINKAGE SECTION. +01 StateNum-IO PIC 99. + 88 ValidStateNum VALUE 1 THRU 50. +01 StateCode-IO PIC XX. +01 StateName-IO PIC X(14). +01 StateCapital-IO PIC X(14). +01 StatePop-IO PIC 9(8). +01 ErrorFlag PIC 9. + 88 NoErrorFound VALUE ZERO. + 88 InvalidStateNum VALUE 1. + 88 NoSearchItems VALUE 2. + 88 NoSuchStateCode VALUE 3. + 88 NoSuchStateName VALUE 4. + 88 NoSuchCapital VALUE 5. + +PROCEDURE DIVISION USING StateNum-IO, StateCode-IO, StateName-IO, + StateCapital-IO, StatePop-IO, ErrorFlag. +Begin. + SET NoErrorFound TO TRUE + SET StateIdx TO 1 + EVALUATE TRUE + WHEN StateNum-IO NOT EQUAL ZEROS PERFORM SearchUsingStateNum + WHEN StateCode-IO NOT EQUAL SPACES PERFORM SearchUsingStateCode + WHEN StateName-IO NOT EQUAL SPACES PERFORM SearchUsingStateName + WHEN StateCapital-IO NOT EQUAL SPACES PERFORM SearchUsingStateCapital + WHEN OTHER SET NoSearchItems TO TRUE + END-EVALUATE + EXIT PROGRAM. + +SearchUsingStateNum. + IF NOT ValidStateNum SET InvalidStateNum TO TRUE + ELSE + MOVE StateCode(StateNum-IO) TO StateCode-IO + MOVE StateName(StateNum-IO) TO StateName-IO + MOVE StateCapital(StateNum-IO) TO StateCapital-IO + MOVE StatePop(StateNum-IO) TO StatePop-IO + END-IF. + + +SearchUsingStateCode. + SEARCH State + AT END SET NoSuchStateCode TO TRUE + WHEN FUNCTION UPPER-CASE(StateCode(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateCode-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. + +SearchUsingStateName. + SEARCH State + AT END SET NoSuchStateName TO TRUE + WHEN FUNCTION UPPER-CASE(StateName(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateName-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. + +SearchUsingStateCapital. + SEARCH State + AT END SET NoSuchCapital TO TRUE + WHEN FUNCTION UPPER-CASE(StateCapital(StateIdx)) EQUAL TO + FUNCTION UPPER-CASE(StateCapital-IO) + SET StateNum-IO TO StateIdx + MOVE StateCode(StateIdx) TO StateCode-IO + MOVE StateName(StateIdx) TO StateName-IO + MOVE StateCapital(StateIdx) TO StateCapital-IO + MOVE StatePop(StateIdx) TO StatePop-IO + END-SEARCH. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-7.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-7.cbl new file mode 100644 index 0000000..ea21ddc --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-7.cbl @@ -0,0 +1,36 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-7. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +FILE-CONTROL. + SELECT StudentFile ASSIGN TO "STUDENTS.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD StudentFile. +COPY StudentRec. + +WORKING-STORAGE SECTION. +01 Idx PIC 9(3). + +01 NameTable. +COPY StudentNameTable IN EG-Lib + REPLACING XYZ BY 120. + +PROCEDURE DIVISION. +BeginProg. + OPEN INPUT StudentFile + READ StudentFile + AT END SET EndOfSF TO TRUE + END-READ + PERFORM VARYING Idx FROM 1 BY 1 UNTIL EndOfSF + MOVE Surname TO StudSurname(Idx) + DISPLAY StudentNumber SPACE StudentName SPACE CourseCode + READ StudentFile + AT END SET EndOfSF TO TRUE + END-READ + END-PERFORM + CLOSE StudentFile + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-8.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-8.cbl new file mode 100644 index 0000000..96be5f2 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-8.cbl @@ -0,0 +1,51 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-8 +AUTHOR. Michael Coughlan. + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 CopyData. + +COPY Copybook1 + REPLACING S BY 15. +* Changes the size of a data item + + +COPY Copybook2 REPLACING ==V99== BY ====. +* Changes the type of a data item to an integer + +COPY Copybook3 REPLACING "CustKey" BY "MyValue". +COPY Copybook3 REPLACING CustKey BY NewKey. +* demonstrates the difference between a literal and a COBOL-Word + +COPY Copybook3 REPLACING CustKey BY +==CustAddress. + 03 Adr1 PIC X(10). + 03 Adr2 PIC X(10). + 03 Adr3 PIC X(10). + 02 CustId==. +*Changes the CustKey declaration to add some new data items. +*After REPLACEMENT the included text will be - +* 02 CustAddress. +* 03 Adr1 PIC X(10). +* 03 Adr2 PIC X(10). +* 03 Adr3 PIC X(10). +* 02 CustId PIC X(7) VALUE "CustKey". + +PROCEDURE DIVISION. +BeginProg. + MOVE "123456789012345678901234567890" TO CustomerName + DISPLAY "CustomerName - " CustomerName + + MOVE 1234.56 TO CustomerOrder + DISPLAY "CustomerOrder - " CustomerOrder + + DISPLAY "CustKey value changed to - " CustKey + + DISPLAY "NewKey value - " NewKey + + MOVE "Dublin" TO Adr3 + + DISPLAY "CustId value - "CustId + +STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9.cbl b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9.cbl new file mode 100644 index 0000000..bc5c69c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9.cbl @@ -0,0 +1,143 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing16-9. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BirthsFile ASSIGN TO "Listing16-9MPDOB.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD BirthsFile. +01 BirthsRec. + 88 EndOfFile VALUE HIGH-VALUES. + 02 MaleDOB PIC X(8). + 02 FemaleDOB PIC X(8). + +WORKING-STORAGE SECTION. +01 Counts. + 02 CompatiblePairs PIC 9(7) VALUE ZEROS. + 02 CompatiblePrn PIC ZZZZ,ZZ9. + 02 CompatiblePercent PIC ZZ9. + 02 IncompatiblePairs PIC 9(7) VALUE ZEROS. + 02 IncompatiblePrn PIC ZZZZ,ZZ9. + 02 IncompatiblePercent PIC ZZ9. + 02 ValidRecs PIC 9(8) VALUE ZEROS. + 02 ValidRecsPrn PIC ZZ,ZZZ,ZZ9. + 02 TotalRecs PIC 9(9) VALUE ZEROS. + 02 TotalRecsPrn PIC ZZ,ZZZ,ZZ9. + +01 MaleSignType PIC 99. + 88 ValidMale VALUE 1 THRU 12. + +01 FemaleSignType PIC 99. + 88 ValidFemale VALUE 1 THRU 12. + +01 SumOfSigns PIC 99. + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT BirthsFile. + READ BirthsFile + AT END SET EndOfFile TO TRUE + END-READ + PERFORM ProcessBirthRecs UNTIL EndOfFile + + COMPUTE ValidRecs = CompatiblePairs + IncompatiblePairs + COMPUTE CompatiblePercent ROUNDED = CompatiblePairs / ValidRecs * 100 + COMPUTE InCompatiblePercent ROUNDED = InCompatiblePairs / ValidRecs * 100 + + PERFORM DisplayResults + + CLOSE BirthsFile. + STOP RUN. + +DisplayResults. + MOVE CompatiblePairs TO CompatiblePrn + MOVE IncompatiblePairs TO IncompatiblePrn + MOVE TotalRecs TO TotalRecsPrn + MOVE ValidRecs TO ValidRecsPrn + + DISPLAY "Total records = " TotalRecsPrn + DISPLAY "Valid records = " ValidRecsPrn + DISPLAY "Compatible pairs = " CompatiblePrn + " which is " CompatiblePercent "% of total". + DISPLAY "Incompatible pairs = " IncompatiblePrn + " which is " InCompatiblePercent "% of total". + +ProcessBirthRecs. +* Get the two sign types and add them together +* If the result is even then they are compatible + ADD 1 TO TotalRecs + CALL "IdentifySign" USING BY CONTENT MaleDOB + BY REFERENCE MaleSignType + + CALL "IdentifySign" USING BY CONTENT FemaleDOB + BY REFERENCE FemaleSignType + + IF ValidMale AND ValidFemale + COMPUTE SumOfSigns = MaleSignType + FemaleSignType + IF FUNCTION REM(SumOfSigns 2) = ZERO + ADD 1 TO CompatiblePairs + ELSE + ADD 1 TO IncompatiblePairs + END-IF + END-IF + READ BirthsFile + AT END SET EndOfFile TO TRUE + END-READ. + + +IDENTIFICATION DIVISION. +PROGRAM-ID. IdentifySign IS INITIAL. +DATA DIVISION. +WORKING-STORAGE SECTION. +01 WorkDate. + 88 Aquarius VALUE "0122" THRU "0218". + 88 Pisces VALUE "0221" THRU "0319". + 88 Aries VALUE "0322" THRU "0419". + 88 Taurus VALUE "0422" THRU "0520". + 88 Gemini VALUE "0523" THRU "0620". + 88 Cancer VALUE "0623" THRU "0722". + 88 Leo VALUE "0725" THRU "0822". + 88 Virgo VALUE "0825" THRU "0922". + 88 Libra VALUE "0925" THRU "1022". + 88 Scorpio VALUE "1025" THRU "1121". + 88 Sagittarius VALUE "1124" THRU "1220". + 88 Capricorn VALUE "1223" THRU "1231", "0101" THRU "0119". + 02 WorkMonth PIC XX. + 02 WorkDay PIC XX. + +LINKAGE SECTION. +01 DateOfBirth. + 02 BirthMonth PIC XX. + 02 BirthDay PIC XX. + 02 FILLER PIC 9(4). + +01 SignType PIC 99. + +PROCEDURE DIVISION USING DateOfBirth, SignType. +Begin. + MOVE BirthDay TO WorkDay. + MOVE BirthMonth TO WorkMonth. + EVALUATE TRUE + WHEN Aquarius MOVE 1 TO SignType + WHEN Pisces MOVE 2 TO SignType + WHEN Aries MOVE 3 TO SignType + WHEN Taurus MOVE 4 TO SignType + WHEN Gemini MOVE 5 TO SignType + WHEN Cancer MOVE 6 TO SignType + WHEN Leo MOVE 7 TO SignType + WHEN Virgo MOVE 8 TO SignType + WHEN Libra MOVE 9 TO SignType + WHEN Scorpio MOVE 10 TO SignType + WHEN Sagittarius MOVE 11 TO SignType + WHEN Capricorn MOVE 12 TO SignType + WHEN OTHER MOVE 13 TO SignType + END-EVALUATE. + EXIT PROGRAM. +END PROGRAM IdentifySign. +END PROGRAM Listing16-9. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOB.Dat b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOB.Dat new file mode 100644 index 0000000..7d1a84c --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOB.Dat @@ -0,0 +1,10836 @@ +0122196701221967 +0218196702181967 +0219196702191967 +0221197802211978 +0319197803191978 +0321197803191978 +0322197903221979 +0419197904201979 +0420197904201979 +0422198004221980 +0520198005201980 +0521198005211980 +0523198105231981 +0620198106201981 +0621198106211981 +0623198206231982 +0722198207221982 +0723198207231982 +0725198307251983 +0822198308221983 +0823198308231983 +0825198408251984 +0922198409221984 +0923198409231984 +0925198509251985 +1022198510221985 +1023198510231985 +1025198610251986 +1121198611211986 +1122198611221986 +1124198711241987 +1220198712201987 +1221198712211987 +1223198812231988 +0119198801191988 +0120198801201988 +0122196712191968 +0123196903131970 +0201196512121966 +0219196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 +1012196712191968 +0905196903131970 +0128196512121966 +1225196804141964 +1114196804201973 +1023196711301963 +0418196912061970 +0316196402271965 +0915196310071968 +0624196712031969 +0211196912031969 +0917196711221964 +1121196310091967 +1114196808261968 +0418196701281969 +0910197003141969 +0423196511031967 +1225195601121960 diff --git a/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOBshort.dat b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOBshort.dat new file mode 100644 index 0000000..45cc0b9 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/Listing16-9MPDOBshort.dat @@ -0,0 +1,36 @@ +0122196701221967 +0218196702181967 +0219196702191967 +0221197802211978 +0319197803191978 +0321197803191978 +0322197903221979 +0419197904201979 +0420197904201979 +0422198004221980 +0520198005201980 +0521198005211980 +0523198105231981 +0620198106201981 +0621198106211981 +0623198206231982 +0722198207221982 +0723198207231982 +0725198307251983 +0822198308221983 +0823198308231983 +0825198408251984 +0922198409221984 +0923198409231984 +0925198509251985 +1022198510221985 +1023198510231985 +1025198610251986 +1121198611211986 +1122198611221986 +1124198711241987 +1220198712201987 +1221198712211987 +1223198812231988 +0119198801191988 +0120198801201988 diff --git a/978-1-4302-6253-4_Coughlan_Ch16/StudentRec.cpy b/978-1-4302-6253-4_Coughlan_Ch16/StudentRec.cpy new file mode 100644 index 0000000..f9effbf --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch16/StudentRec.cpy @@ -0,0 +1,9 @@ +* StudentRec +01 StudentRec. + 88 EndOfSF VALUE HIGH-VALUES. + 02 StudentNumber PIC 9(7). + 02 StudentName. + 03 Surname PIC X(12). + 03 Initials PIC XX. + 02 CourseCode PIC X(5). + 02 Gender PIC X. diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.DAT new file mode 100644 index 0000000..858262b Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.cbl new file mode 100644 index 0000000..2863b29 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-1.cbl @@ -0,0 +1,75 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-1. +AUTHOR. MICHAEL COUGHLAN. +* Reads a Relative file directly or in sequence + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT VehicleFile ASSIGN TO "Listing17-1.DAT" + ORGANIZATION IS RELATIVE + ACCESS MODE IS DYNAMIC + RELATIVE KEY IS VehicleKey + FILE STATUS IS VehicleStatus. + +DATA DIVISION. +FILE SECTION. +FD VehicleFile. +01 VehicleRec. + 88 EndOfVehiclefile VALUE HIGH-VALUES. + 02 VehicleNum PIC 9(4). + 02 VehicleDesc PIC X(25). + 02 ManfName PIC X(20). + +WORKING-STORAGE SECTION. +01 VehicleStatus PIC X(2). + 88 RecordFound VALUE "00". + +01 VehicleKey PIC 9(4). + +01 ReadType PIC 9. + 88 DirectRead VALUE 1. + 88 SequentialRead VALUE 2. + +01 PrnVehicleRecord. + 02 PrnVehicleNum PIC 9(4). + 02 PrnVehicleDesc PIC BBX(25). + 02 PrnManfName PIC BBX(20). + +PROCEDURE DIVISION. +BEGIN. + OPEN INPUT VehicleFile + DISPLAY "Read type : Direct read = 1, Sequential read = 2 --> " + WITH NO ADVANCING. + ACCEPT ReadType + IF DirectRead + DISPLAY "Enter vehicle key (4 digits) --> " WITH NO ADVANCING + ACCEPT VehicleKey + READ VehicleFile + INVALID KEY DISPLAY "Vehicle file status = " VehicleStatus + END-READ + PERFORM DisplayRecord + END-IF + + IF SequentialRead + READ VehicleFile NEXT RECORD + AT END SET EndOfVehiclefile TO TRUE + END-READ + PERFORM UNTIL EndOfVehiclefile + PERFORM DisplayRecord + READ VehicleFile NEXT RECORD + AT END SET EndOfVehiclefile TO TRUE + END-READ + END-PERFORM + END-IF + CLOSE VehicleFile + STOP RUN. + +DisplayRecord. + IF RecordFound + MOVE VehicleNum TO PrnVehicleNum + MOVE VehicleDesc TO PrnVehicleDesc + MOVE ManfName TO PrnManfName + DISPLAY PrnVehicleRecord + END-IF. + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.DAT new file mode 100644 index 0000000..1308235 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.cbl new file mode 100644 index 0000000..f17caa7 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-2.cbl @@ -0,0 +1,57 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-2. +AUTHOR. MICHAEL COUGHLAN. +* Reads a Relative file directly or in sequence + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT VehicleFile ASSIGN TO "Listing17-2.DAT" + ORGANIZATION IS RELATIVE + ACCESS MODE IS RANDOM + RELATIVE KEY IS VehicleKey + FILE STATUS IS VehicleStatus. + + SELECT Seqfile ASSIGN TO "Listing17-2.SEQ" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD VehicleFile. +01 VehicleRec. + 02 VehicleNum PIC 9(4). + 02 VehicleDesc PIC X(25). + 02 ManfName PIC X(20). + +FD SeqFile. +01 VehicleRec-SF. + 88 EndOfSeqfile VALUE HIGH-VALUES. + 02 VehicleNum-SF PIC 9(4). + 02 VehicleDesc-SF PIC X(25). + 02 ManfName-SF PIC X(20). + +WORKING-STORAGE SECTION. +01 VehicleStatus PIC X(2). + 88 RecordFound VALUE "00". + +01 VehicleKey PIC 9(4). + +PROCEDURE DIVISION. +BEGIN. + OPEN INPUT SeqFile + OPEN OUTPUT VehicleFile + READ SeqFile + AT END SET EndOfSeqFile TO TRUE + END-READ + PERFORM UNTIL EndOfSeqFile + MOVE VehicleNum-SF TO VehicleKey + WRITE VehicleRec FROM VehicleRec-SF + INVALID KEY DISPLAY "Vehicle file status = " VehicleStatus + END-WRITE + READ SeqFile + AT END SET EndOfSeqFile TO TRUE + END-READ + END-PERFORM + + CLOSE SeqFile, VehicleFile + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.DAT new file mode 100644 index 0000000..858262b Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.cbl new file mode 100644 index 0000000..6951b8d --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3.cbl @@ -0,0 +1,142 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-3. +AUTHOR. MICHAEL COUGHLAN. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT VehicleMasterFile ASSIGN TO "Listing17-3.DAT" + ORGANIZATION IS RELATIVE + ACCESS MODE IS DYNAMIC + RELATIVE KEY IS VehicleKey + FILE STATUS IS VehicleFileStatus. + + SELECT TransFile ASSIGN TO "Listing17-3Trans.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD VehicleMasterFile. +01 VehicleRec-VMF. + 88 EndOfVehiclefile VALUE HIGH-VALUES. + 02 VehicleNum-VMF PIC 9(4). + 02 VehicleDesc-VMF PIC X(25). + 02 ManfName-VMF PIC X(20). + +FD TransFile. +01 InsertionRec. + 88 EndOfTransFile VALUE HIGH-VALUES. + 02 TransType PIC X. + 88 InsertRecord VALUE "I". + 88 DeleteRecord VALUE "D". + 88 UpdateRecord VALUE "U". + 02 VehicleNum-IR PIC 9(4). + 02 VehicleDesc-IR PIC X(25). + 02 ManfName-IR PIC X(20). + +01 DeletionRec PIC X(5). + +01 UpdateRec. + 02 FILLER PIC X(5). + 02 VehicleDesc-UR PIC X(25). + +WORKING-STORAGE SECTION. +01 VehicleFileStatus PIC X(2). + 88 OperationSuccessful VALUE "00". + 88 VehicleRecExists VALUE "22". + 88 NoVehicleRec VALUE "23". + +01 VehicleKey PIC 9(4). + +01 ReadType PIC 9. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT TransFile + OPEN I-O VehicleMasterFile + DISPLAY "Vehicle Master File records before transactions" + PERFORM DisplayVehicleRecords + DISPLAY SPACES + + READ TransFile + AT END SET EndOfTransFile TO TRUE + END-READ + PERFORM UNTIL EndOfTransFile + MOVE VehicleNum-IR TO VehicleKey + EVALUATE TRUE + WHEN InsertRecord PERFORM InsertVehicleRec + WHEN DeleteRecord PERFORM DeleteVehicleRec + WHEN UpdateRecord PERFORM UpdateVehicleRec + WHEN OTHER DISPLAY "Error - Invalid Transaction Code" + END-EVALUATE + READ TransFile + AT END SET EndOfTransFile TO TRUE + END-READ + END-PERFORM + + DISPLAY SPACES + DISPLAY "Vehicle Master File records after transactions" + PERFORM DisplayVehicleRecords + + CLOSE TransFile, VehicleMasterFile + STOP RUN. + +InsertVehicleRec. + MOVE ManfName-IR TO ManfName-VMF + MOVE VehicleDesc-IR TO VehicleDesc-VMF + MOVE VehicleNum-IR TO VehicleNum-VMF + WRITE VehicleRec-VMF + INVALID KEY + IF VehicleRecExists + DISPLAY "InsertError - Record at - " VehicleNum-IR " - already exists" + ELSE + DISPLAY "Unexpected error. File Status is - " VehicleFileStatus + END-IF + END-WRITE. + + +DeleteVehicleRec. + DELETE VehicleMasterFile RECORD + INVALID KEY + IF NoVehicleRec + DISPLAY "DeleteError - No record at - " VehicleNum-IR + ELSE + DISPLAY "Unexpected error1. File Status is - " VehicleFileStatus + END-IF + END-DELETE. + +UpdateVehicleRec. + READ VehicleMasterFile + INVALID KEY + IF NoVehicleRec + DISPLAY "UpdateError - No record at - " VehicleNum-IR + ELSE + DISPLAY "Unexpected error2. File Status is - " VehicleFileStatus + END-IF + END-READ + IF OperationSuccessful + MOVE VehicleDesc-UR TO VehicleDesc-VMF + REWRITE VehicleRec-VMF + INVALID KEY DISPLAY "Unexpected error3. File Status is - " VehicleFileStatus + END-REWRITE + END-IF. + +DisplayVehicleRecords. +* Position the Next Record Pointer to the start of the file + MOVE ZEROS TO VehicleKey + START VehicleMasterFile KEY IS GREATER THAN VehicleKey + INVALID KEY DISPLAY "Unexpected error on START" + END-START + READ VehicleMasterFile NEXT RECORD + AT END SET EndOfVehiclefile TO TRUE + END-READ + + PERFORM UNTIL EndOfVehiclefile + DISPLAY VehicleNum-VMF SPACE VehicleDesc-VMF SPACE ManfName-VMF + READ VehicleMasterFile NEXT RECORD + AT END SET EndOfVehiclefile TO TRUE + END-READ + END-PERFORM. + + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3Trans.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3Trans.DAT new file mode 100644 index 0000000..42f0975 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-3Trans.DAT @@ -0,0 +1,7 @@ +I0001 *** invalid insert *** Tesla Motors +D0006 *** invalid delete *** +U0017FCV +valid update +U0117 *** invalid update *** +D0135 +valid delete +I0205Model C +valid insert Tesla Motors +I0230 *** invalid insert *** Peugeot \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4.cbl new file mode 100644 index 0000000..4a58ec1 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4.cbl @@ -0,0 +1,114 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-4. +AUTHOR. Michael Coughlan. +*Reads the file sequentially and then directly on any key + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + SELECT FilmFile ASSIGN TO "Listing17-4Film.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS FilmId + ALTERNATE RECORD KEY IS FilmTitle + WITH DUPLICATES + ALTERNATE RECORD KEY IS DirectorId + WITH DUPLICATES + FILE STATUS IS FilmStatus. + +DATA DIVISION. +FILE SECTION. +FD FilmFile. +01 FilmRec. + 88 EndOfFilms VALUE HIGH-VALUES. + 02 FilmId PIC 9(7). + 02 FilmTitle PIC X(40). + 02 DirectorId PIC 999. + + +WORKING-STORAGE SECTION. +01 FilmStatus PIC XX. + 88 FilmOK VALUE ZEROS. + +01 RequiredSequence PIC 9. + 88 FilmIdSequence VALUE 1. + 88 FilmTitleSequence VALUE 2. + 88 DirectorIdSequence VALUE 3. + +01 PrevDirectorId PIC 999. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT FilmFile + DISPLAY "*** Get Records Sequentially ***" + DISPLAY "Enter key : 1 = FilmId, 2 = FilmTitle, 3 = DirectorId - " + WITH NO ADVANCING. + ACCEPT RequiredSequence. + + EVALUATE TRUE + WHEN FilmIdSequence PERFORM DisplayFilmData + WHEN FilmTitleSequence MOVE SPACES TO FilmTitle + START FilmFile KEY IS GREATER THAN FilmTitle + INVALID KEY DISPLAY "FilmStatus = " FilmStatus + END-START + PERFORM DisplayFilmData + WHEN DirectorIdSequence MOVE ZEROS TO DirectorId + START FilmFile KEY IS GREATER THAN DirectorId + INVALID KEY DISPLAY "FilmStatus = " FilmStatus + END-START + PERFORM DisplayFilmData + END-EVALUATE + + DISPLAY SPACES + DISPLAY "*** Get Records Directly ***" + DISPLAY "Enter key : 1 = FilmId, 2 = FilmTitle, 3 = DirectorId - " + WITH NO ADVANCING. + ACCEPT RequiredSequence. + EVALUATE TRUE + WHEN FilmIdSequence PERFORM GetFilmByFilmId + WHEN FilmTitleSequence PERFORM GetFilmByFilmTitle + WHEN DirectorIdSequence PERFORM GetFilmByDirectorId + END-EVALUATE + + CLOSE FilmFile + STOP RUN. + +DisplayFilmData. + READ FilmFile NEXT RECORD + AT END SET EndOfFilms TO TRUE + END-READ + PERFORM UNTIL EndOfFilms + DISPLAY FilmId SPACE FilmTitle SPACE DirectorId + READ FilmFile NEXT RECORD + AT END SET EndOfFilms TO TRUE + END-READ + END-PERFORM. + +GetFilmByFilmId. + DISPLAY "Enter the FilmId - " WITH NO ADVANCING + ACCEPT FilmId + READ FilmFile + KEY IS FilmId + INVALID KEY DISPLAY "Film not found - " FilmStatus + NOT INVALID KEY DISPLAY FilmId SPACE FilmTitle SPACE DirectorId + END-READ. + + +GetFilmByFilmTitle. + DISPLAY "Enter the FilmTitle - " WITH NO ADVANCING + ACCEPT FilmTitle + READ FilmFile + KEY IS FilmTitle + INVALID KEY DISPLAY "Film not found - " FilmStatus + NOT INVALID KEY DISPLAY FilmId SPACE FilmTitle SPACE DirectorId + END-READ. + + +GetFilmByDirectorId. + DISPLAY "Enter the Director Id - " WITH NO ADVANCING + ACCEPT DirectorId + READ FilmFile + KEY IS DirectorId + INVALID KEY DISPLAY "Film not found - " FilmStatus + NOT INVALID KEY DISPLAY FilmId SPACE FilmTitle SPACE DirectorId + END-READ. + diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4Film.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4Film.DAT new file mode 100644 index 0000000..7ecf573 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-4Film.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5.cbl new file mode 100644 index 0000000..31704fe --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5.cbl @@ -0,0 +1,55 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-5. +AUTHOR. Michael Coughlan. +*Creating an Indexed File from a Sequential File + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + SELECT FilmFile ASSIGN TO "Listing17-5Film.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS FilmId + ALTERNATE RECORD KEY IS FilmTitle + WITH DUPLICATES + ALTERNATE RECORD KEY IS DirectorId + WITH DUPLICATES + FILE STATUS IS FilmStatus. + + SELECT SeqFilmFile ASSIGN TO "Listing17-5Film.SEQ" + ORGANIZATION IS LINE SEQUENTIAL. + + +DATA DIVISION. +FILE SECTION. +FD FilmFile. +01 FilmRec. + 02 FilmId PIC 9(7). + 02 FilmTitle PIC X(40). + 02 DirectorId PIC 999. + +FD SeqFilmFile. +01 SeqFilmRec PIC X(50). + 88 EndOfFilmFile VALUE HIGH-VALUES. + +WORKING-STORAGE SECTION. +01 FilmStatus PIC XX. + 88 FilmOK VALUE ZEROS. + +PROCEDURE DIVISION. +Begin. + OPEN INPUT SeqFilmFile + OPEN OUTPUT FilmFile + + READ SeqFilmFile + AT END SET EndOfFilmFile TO TRUE + END-READ + PERFORM UNTIL EndOfFilmFile + WRITE FilmRec FROM SeqFilmRec + INVALID KEY DISPLAY "Error writing to film file" + END-WRITE + READ SeqFilmFile + AT END SET EndOfFilmFile TO TRUE + END-READ + END-PERFORM + CLOSE SeqFilmFile, FilmFile + STOP RUN. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.DAT new file mode 100644 index 0000000..7ecf573 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.SEQ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.SEQ new file mode 100644 index 0000000..b6b2427 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-5Film.SEQ @@ -0,0 +1,22 @@ +8713669Alien 023 +8805075Lord of the Rings:Return of the King 009 +8805091Lord of the Rings:Fellowship of the Ring009 +8805105Mission Impossible 015 +8805121Jaws 005 +8805156Carrie 015 +8805164Lord of the Rings:The Two Towers 009 +8805229Saving Private Ryan 005 +8805245Catch Me If You Can 005 +8805253Heavenly Creatures 009 +8805261Master and Commander 012 +8805288Cape Fear 033 +8805296Overboard 004 +8805326The Color Purple 005 +8805334Desperado 002 +8805385First Knight 003 +8805415Pulp Fiction 002 +8805474Ghost 003 +8805504Jackie Brown 002 +8805806Carlito's Way 015 +8812438The Untouchables 015 +8822334Blade Runner 023 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6.cbl new file mode 100644 index 0000000..30eb072 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6.cbl @@ -0,0 +1,82 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-6. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + SELECT FilmFile ASSIGN TO "Listing17-6Film.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS FilmId-FF + ALTERNATE RECORD KEY IS FilmTitle-FF + WITH DUPLICATES + ALTERNATE RECORD KEY IS DirectorId-FF + WITH DUPLICATES + FILE STATUS IS FilmStatus. + + SELECT DirectorFile ASSIGN TO "Listing17-6Dir.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS DirectorId-DF + ALTERNATE RECORD KEY IS DirectorSurname-DF + FILE STATUS IS DirectorStatus. + +DATA DIVISION. +FILE SECTION. +FD FilmFile. +01 FilmRec-FF. + 88 EndOfFilms VALUE HIGH-VALUES. + 02 FilmId-FF PIC 9(7). + 02 FilmTitle-FF PIC X(40). + 02 DirectorId-FF PIC 999. + +FD DirectorFile. +01 DirectorRec-DF. + 88 EndOfDirectors VALUE HIGH-VALUES. + 02 DirectorId-DF PIC 999. + 02 DirectorSurname-DF PIC X(20). + + +WORKING-STORAGE SECTION. +01 AllStatusFlags VALUE ZEROS. + 02 FilmStatus PIC XX. + 88 FilmOk VALUE "02", "00". + + 02 DirectorStatus PIC XX. + +01 DirectorName PIC X(20). + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT FilmFile + OPEN INPUT DirectorFile + DISPLAY "Please enter the director surname :- " + WITH NO ADVANCING + ACCEPT DirectorSurname-DF + READ DirectorFile + KEY IS DirectorSurname-DF + INVALID KEY DISPLAY "-DF ERROR Status = " DirectorStatus + NOT INVALID KEY PERFORM GetFilmsForDirector + END-READ + + CLOSE FilmFile + CLOSE DirectorFile + STOP RUN. + +GetFilmsForDirector. + MOVE DirectorId-DF TO DirectorId-FF + READ FilmFile + KEY IS DirectorId-FF + INVALID KEY DISPLAY "-FF ERROR Status = " FilmStatus + END-READ + IF FilmOk + PERFORM UNTIL DirectorId-DF NOT Equal TO DirectorId-FF OR EndOfFilms + DISPLAY DirectorId-DF SPACE DirectorSurname-DF SPACE FilmId-FF SPACE FilmTitle-FF + READ FilmFile NEXT RECORD + AT END SET EndOfFilms TO TRUE + END-READ + END-PERFORM + END-IF. + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Dir.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Dir.DAT new file mode 100644 index 0000000..1b3d969 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Dir.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Film.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Film.DAT new file mode 100644 index 0000000..7ecf573 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-6Film.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7.cbl new file mode 100644 index 0000000..9e2c710 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7.cbl @@ -0,0 +1,149 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-7. +AUTHOR. Michael Coughlan. +*Applies transactions to the Indexed FilmFile and enforces referential integrity +*with the Indexed Directors File + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. + SELECT FilmFile ASSIGN TO "Listing17-7Films.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS FilmId-FF + ALTERNATE RECORD KEY IS FilmTitle-FF + WITH DUPLICATES + ALTERNATE RECORD KEY IS DirectorId-FF + WITH DUPLICATES + FILE STATUS IS FilmStatus. + + SELECT DirectorsFile ASSIGN TO "Listing17-7Dir.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS DirectorId-DF + ALTERNATE RECORD KEY IS DirectorSurname-DF + FILE STATUS IS DirectorStatus. + + SELECT TransFile ASSIGN TO "Listing17-7Trans.dat" + ORGANIZATION IS LINE SEQUENTIAL. + +DATA DIVISION. +FILE SECTION. +FD FilmFile. +01 FilmRec-FF. + 88 EndOfFilms VALUE HIGH-VALUES. + 02 FilmId-FF PIC 9(7). + 02 FilmTitle-FF PIC X(40). + 02 DirectorId-FF PIC 9(3). + +FD DirectorsFile. +01 DirectorsRec-DF. + 88 EndOfDirectors VALUE HIGH-VALUES. + 02 DirectorId-DF PIC 9(3). + 02 DirectorSurname-DF PIC X(20). + +FD TransFile. +01 DeletionRec-TF. + 88 EndOfTrans VALUE HIGH-VALUES. + 02 TypeId-TF PIC X. + 88 DoDeletion VALUE "D". + 88 DoInsertion VALUE "I". + 88 DoUpdate VALUE "U". + 02 FilmId-TF PIC 9(7). + +01 InsertionRec-TF. + 02 FILLER PIC 9. + 02 InsertionBody-TF. + 03 FILLER PIC X(47). + 03 DirectorId-TF PIC 9(3). + +01 UpdateRec-TF. + 02 FILLER PIC X(8). + 02 FilmTitle-TF PIC X(40). + +WORKING-STORAGE SECTION. +01 AllStatusFlags VALUE ZEROS. + 02 FilmStatus PIC XX. + 88 FilmOK VALUE ZEROS. + 02 DirectorStatus PIC XX. + 88 MatchingDirectorFound VALUE ZEROS. + + +PROCEDURE DIVISION. +Begin. + OPEN I-O FilmFile + OPEN INPUT DirectorsFile + OPEN INPUT TransFile + DISPLAY "*** Film file before updates ***" + PERFORM DisplayFilmFileContents + DISPLAY SPACES + READ TransFile + AT END SET EndOfTrans TO TRUE + END-READ + PERFORM UpdateFilmFile UNTIL EndofTrans + DISPLAY SPACES + DISPLAY "*** Film file after updates ***" + PERFORM DisplayFilmFileContents + CLOSE FilmFile, DirectorsFile, TransFile + STOP RUN. + +DisplayFilmFileContents. + MOVE ZEROS TO FilmId-FF + START FilmFile KEY IS GREATER THAN FilmId-FF + INVALID KEY DISPLAY "Error1 - FilmStatus = " FilmStatus + END-START + READ FilmFile NEXT RECORD + AT END SET EndOfFilms TO TRUE + END-READ + PERFORM UNTIL EndOfFilms + DISPLAY FilmId-FF SPACE DirectorId-FF SPACE FilmTitle-FF + READ FilmFile NEXT RECORD + AT END SET EndOfFilms TO TRUE + END-READ + END-PERFORM. + +UpdateFilmFile. + EVALUATE TRUE + WHEN DoDeletion PERFORM DeleteFilmRec + WHEN DoInsertion PERFORM InsertFilmRec + WHEN DoUpdate PERFORM UpdateFilmRec + END-EVALUATE + READ TransFile + AT END SET EndOfTrans TO TRUE + END-READ. + +DeleteFilmRec. + MOVE FilmId-TF TO FilmId-FF + DELETE FilmFile RECORD + INVALID KEY DISPLAY FilmId-FF " - Delete Error. No such record" + END-DELETE. + +InsertFilmRec. +*To preserve Referential Integrity check director exists for this Film + MOVE DirectorId-TF TO DirectorId-DF + START DirectorsFile + KEY IS EQUAL TO DirectorId-DF + INVALID KEY DISPLAY FilmId-FF " - Insert Error. No matching entry for director - " DirectorId-TF + END-START + + IF MatchingDirectorFound + MOVE InsertionBody-TF TO FilmRec-FF + WRITE FilmRec-FF + INVALID KEY DISPLAY FilmId-FF " - Insert Error. That FilmId already exists." + END-WRITE + END-IF. + + +UpdateFilmRec. + MOVE FilmId-TF TO FilmId-FF + READ FilmFile RECORD + KEY IS FilmId-FF + INVALID KEY DISPLAY FilmId-FF " - Update error. No such record exists" + END-READ + IF FilmOk + MOVE FilmTitle-TF TO FilmTitle-FF + REWRITE FilmRec-FF + INVALID KEY DISPLAY "Unexpected Error1. FilmStatus - " FilmStatus + END-REWRITE + END-IF. + diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Dir.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Dir.DAT new file mode 100644 index 0000000..1b3d969 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Dir.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Films.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Films.DAT new file mode 100644 index 0000000..7ecf573 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Films.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Trans.dat b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Trans.dat new file mode 100644 index 0000000..abbee99 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-7Trans.dat @@ -0,0 +1,8 @@ +D8805334 +++valid delete +D8844444 ---invalid delete +I8833333Raiders of the Lost Ark - valid insert 005 +I8805111 invalid Insert no matching dir code 008 +I8805245 invalid Insert rec already exists 005 +U8805326Color Purple, The +++ valid update +U8811111 --- invalid update +U8812438Untouchables, The +++ valid update \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.DAT new file mode 100644 index 0000000..4756acf Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.idx b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.idx new file mode 100644 index 0000000..372e6e6 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-SMF.idx differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-TRANS.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-TRANS.DAT new file mode 100644 index 0000000..4587198 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-TRANS.DAT @@ -0,0 +1,19 @@ +D201401140006 +I201402010124INSERT 1 B.L. +I201402020126INSERT 2 B.L. +D201402030510 +I201402040133INSERT 3 B.L. +I201402050223INSERT ERROR ON STOCK ERROR +I201402060135INSERT 4 B.L. +D201402070156DELETE ERROR ERROR +D201402080106DELETE ERROR ERROR +I201402090005INSERT ERR ON VEHICLE ERROR +I201402110107INSERT 5 THEN DELETE B.L. +D201402120018 +I201402130007INSERT ERR ON VEHICLE ERROR +D201402140107 +I201402150018INSERT NEW VEHICLE 18 B.L. +D201402160009 +I201402170011INSERT ERROR ON VEHICLE ERROR +I201402180113INSERT 7 B.L. +I201402190003INSERT ERR ON STOCK ERROR \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-VMF.DAT b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-VMF.DAT new file mode 100644 index 0000000..dc09c5b Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8-VMF.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8.cbl b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8.cbl new file mode 100644 index 0000000..073498e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch17/Listing17-8.cbl @@ -0,0 +1,234 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing17-8. +AUTHOR. MICHAEL COUGHLAN. +*Applies Insertions and Deletions in TransFile to the VehicleFile. +*For Insertions - If a vehicle already exists in either the Stock or +*Vehicle file, the transaction record is written to the Error File otherwise inserted +*For Deletions - If the vehicle does not exit in the Vehicle File the transaction +*record is written to the Error File otherwise the Vehicle record is deleted +*If the vehicle record is deleted all the Stock records with the same VehicleNumber +*as the deleted record are written to the Redundant Stock Report and the VehicleNumber +*field in each of these Stock records is overwritten with zeros. + + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT StockFile ASSIGN TO "Listing17-8-SMF.DAT" + ORGANIZATION IS INDEXED + ACCESS MODE IS DYNAMIC + RECORD KEY IS PartNumSF + ALTERNATE RECORD KEY IS VehicleNumSF + WITH DUPLICATES + FILE STATUS IS StockErrStatus. + + SELECT VehicleFile ASSIGN TO "Listing17-8-VMF.DAT" + ORGANIZATION IS RELATIVE + ACCESS MODE IS DYNAMIC + RELATIVE KEY IS VehicleNumKey + FILE STATUS IS VehicleErrStatus. + + SELECT TransFile ASSIGN TO "Listing17-8-TRANS.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT ErrorFile ASSIGN TO "Listing17-8-ERR.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT RedundantStockRpt ASSIGN TO "Listing17-8-STK.RPT". + + +DATA DIVISION. +FILE SECTION. +FD StockFile. +01 StockRecSF. + 02 PartNumSF PIC 9(7). + 02 VehicleNumSF PIC 9(4). + 02 PartDescSF PIC X(25). + +FD VehicleFile. +01 VehicleRecVF. + 02 VehicleNumVF PIC 9(4). + 02 VehicleDescVF PIC X(25). + 02 ManfNameVF PIC X(20). + +FD TransFile. +01 TransRecTF. + 02 TransTypeTF PIC X. + 88 InsertionRec VALUE "I". + 88 DeletionRec VALUE "D". + 02 DateTF PIC X(8). + 02 VehicleNumTF PIC 9(4). + 02 VehicleDescTF PIC X(25). + 02 ManfNameTF PIC X(20). + + + +FD RedundantStockRpt REPORT IS StockReport. + + +FD ErrorFile. +01 ErrorRec PIC X(56). + + +WORKING-STORAGE SECTION. +01 ErrorStatusCodes. + 02 StockErrStatus PIC X(2). + 88 StockFileOpOK VALUE "00", "02". + 88 StockRecExistis VALUE "22". + 88 NoStockRec VALUE "23". + 02 VehicleErrStatus PIC X(2). + 88 VehicleFileOpOK VALUE "00". + 88 VehicleRecExists VALUE "22". + 88 NoVehicleRec VALUE "23". + +01 FileVariables. + 02 VehicleNumKey PIC 9(4). + 02 PrevVehicleNum PIC 9(4). + +01 ConditionNames. + 02 FILLER PIC X. + 88 EndOfStockFile VALUE HIGH-VALUES. + 88 NotEndOfStockFile VALUE LOW-VALUES. + 02 FILLER PIC X. + 88 EndOfTransFile VALUE HIGH-VALUES. + +REPORT SECTION. +RD StockReport + PAGE LIMIT IS 66 + HEADING 1 + FIRST DETAIL 6 + LAST DETAIL 50 + FOOTING 55. + +01 TYPE IS PAGE HEADING. + 02 LINE 2. + 03 COLUMN 31 PIC X(24) VALUE + "REDUNDANT STOCK REPORT". + 02 LINE 3. + 03 COLUMN 30 PIC X(26) VALUE ALL "-". + + 02 LINE 6. + 03 COLUMN 2 PIC X(36) VALUE + "PART NUMBER PART DESCRIPTION". + 03 COLUMN 45 PIC X(35) VALUE + "VEHICLE NO. MANUFACTURER NAME". + + +01 DetailLine TYPE IS DETAIL. + 02 LINE IS PLUS 2. + 03 COLUMN 3 PIC 9(7) SOURCE PartNumSF . + 03 COLUMN 17 PIC X(25) SOURCE PartDescSF. + 03 COLUMN 48 PIC 9(4) SOURCE VehicleNumSF. + 03 COLUMN 60 PIC X(20) SOURCE ManfNameVF. + + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT TransFile. + OPEN I-O StockFile + VehicleFile. + OPEN OUTPUT ErrorFile + RedundantStockRpt. + + INITIATE StockReport + + READ TransFile + AT END SET EndOfTransFile TO TRUE + END-READ + PERFORM UNTIL EndOfTransFile + MOVE VehicleNumTF TO VehicleNumKey + VehicleNumSF + EVALUATE TRUE + WHEN InsertionRec PERFORM CheckStockFile + WHEN DeletionRec PERFORM DeleteVehicleRec + WHEN OTHER DISPLAY "NOT INSERT OR DELETE" + END-EVALUATE + READ TransFile + AT END SET EndOfTransFile TO TRUE + END-READ + END-PERFORM + + TERMINATE StockReport + + CLOSE ErrorFile + RedundantStockRpt + TransFile + StockFile + VehicleFile + + STOP RUN. + +CheckStockFile. + READ StockFile KEY IS VehicleNumSF + INVALID KEY CONTINUE + END-READ + IF StockFileOpOK + PERFORM WriteErrorLine + ELSE IF NoStockRec + PERFORM InsertVehicleRec + ELSE + DISPLAY "Unexpected Read Error on Stockfile" + DISPLAY "Stockfile status = " StockErrStatus + END-IF + END-IF. + +InsertVehicleRec. + MOVE ManfNameTF TO ManfNameVF + MOVE VehicleDescTF TO VehicleDescVF + MOVE VehicleNumTF TO VehicleNumVF + WRITE VehicleRecVF + INVALID KEY CONTINUE + END-WRITE + IF VehicleRecExists PERFORM WriteErrorLine + ELSE IF NOT VehicleFileOpOK + DISPLAY "Unexpected Write Error on VehicleFile." + DISPLAY "Vehicle file status = " VehicleErrStatus + END-IF + END-IF. + +DeleteVehicleRec. + READ VehicleFile + INVALID KEY CONTINUE + END-READ + IF NoVehicleRec PERFORM WriteErrorLine + ELSE IF VehicleFileOpOK + DELETE VehicleFile RECORD + INVALID KEY + DISPLAY "Unexpected Delete Error on VehicleFile" + DISPLAY "Vehicle file status = " VehicleErrStatus + END-DELETE + PERFORM UpdateStockFile + ELSE + DISPLAY "DeleteProblem = " VehicleErrStatus + END-IF + END-IF. + +WriteErrorLine. + MOVE TransRecTF TO ErrorRec + WRITE ErrorRec. + + +UpdateStockFile. + MOVE VehicleNumSF TO PrevVehicleNum + READ StockFile KEY IS VehicleNumSF + INVALID KEY CONTINUE + END-READ + IF StockFileOpOK + SET NotEndOfStockFile TO TRUE + PERFORM PrintStockRpt + UNTIL VehicleNumSF NOT EQUAL TO PrevVehicleNum + OR EndOfStockFile + END-IF. + + +PrintStockRpt. + GENERATE DetailLine + MOVE ZEROS TO VehicleNumSF + REWRITE StockRecSF + INVALID KEY DISPLAY "ERROR ON REWRITE" + END-REWRITE + READ StockFile NEXT RECORD + AT END SET EndOfStockFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1-Sales.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1-Sales.DAT new file mode 100644 index 0000000..f75860e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1-Sales.DAT @@ -0,0 +1,489 @@ +010380932514 +010381183919 +010381910261 +010730450371 +010731165987 +010731954019 +020551898184 +020550306597 +020551068692 +020891118772 +020891414582 +021041800542 +021041761420 +030230423772 +030231331500 +030900207893 +030901722888 +030900892996 +040831386216 +040911639899 +041091262693 +041091289102 +041091955625 +050130490534 +050131588815 +050130468961 +050361931495 +050361719488 +050360218200 +051120990238 +060251530055 +060251554134 +060341534992 +060340377363 +060520427458 +060521196993 +060521569940 +060520590897 +060520722978 +060520965584 +060814238751 +060810523220 +060810642746 +061070969326 +061070983366 +070271120997 +070271194783 +070270326121 +070271758175 +070331852017 +070330704882 +070331838685 +070331630400 +070370686177 +070370646249 +070371112822 +070370832107 +071131908989 +071131037414 +080290590018 +080291725911 +080290549008 +080290630480 +080291326422 +080701059731 +080701729032 +080701225866 +080700763024 +090281886992 +090280268985 +090281007423 +090881984506 +090881293706 +090881026177 +090881030038 +090881202118 +090880781425 +091081494866 +091081468134 +100201877100 +100200744348 +100201549660 +100460490945 +100461056427 +100571399377 +100570857623 +100571588600 +100631845600 +100630426357 +100981976360 +110051134688 +110051233544 +110051155330 +110051169862 +110050603028 +111021831736 +111021843851 +111021328708 +111021006455 +111281541014 +111281186495 +111280565823 +111280425349 +111280441462 +120480504894 +120485281369 +120511900114 +120510812968 +120511943909 +120511784700 +120541327172 +120541774010 +120540415564 +120540877103 +120540635109 +120654233377 +120651225464 +120690772849 +120690349436 +120690560373 +120691873582 +120691168315 +120691438742 +120691446038 +121201329772 +121201292627 +130801039165 +130800703472 +130801816473 +130821877506 +130821723458 +130820341177 +130820898637 +130921670190 +130921417598 +131181274678 +131181481815 +131181106817 +131180910083 +131180818902 +131291713462 +131291887819 +131291673182 +131291452198 +131440361478 +131441727639 +131441534220 +140091600464 +140091901715 +140090650851 +140090633591 +140601227707 +140600723977 +140600851046 +140600231142 +140601074641 +141421000490 +141421129656 +150451666988 +150450234144 +150450804049 +150450459243 +151381436150 +151381369159 +151501691271 +151500587534 +160581985210 +160581134905 +160581589985 +160581927880 +170400722809 +170401706436 +170400591664 +170400479543 +170931079782 +170940735112 +170941428986 +171170288031 +171171208035 +171170653671 +171360730704 +171360800444 +171361384755 +171360551108 +180590487604 +180591312043 +180591526409 +180590603424 +190641738400 +190640774192 +190640772952 +190641869835 +190641588116 +190640450682 +190641574027 +190641216464 +190641050287 +190641122558 +190640850760 +191261600612 +191261493962 +191260760074 +191261242616 +191260219428 +191261251218 +191491422698 +191491251564 +191491250563 +191490236645 +200061901231 +200060831182 +200060810730 +200060553389 +200060466530 +200061498524 +200061941481 +200221984582 +200220408942 +201231465735 +201231029803 +210191033043 +210191456181 +210191293071 +210190352392 +211390960222 +211391019598 +211390775022 +211390425984 +211391715156 +220081103721 +220081823740 +220080945854 +220491193291 +220491563134 +220491898006 +220491012115 +220491711747 +220491259336 +220490580871 +221211805723 +221211239082 +221210472631 +221251683740 +221370881324 +221370960653 +221370746515 +221370551449 +230171251322 +230171404198 +230171869615 +230170274081 +230171873063 +230171500549 +230171402753 +230710893738 +230721494688 +230720823739 +230721044573 +230721755251 +230781881456 +230781671290 +230780410312 +230780671011 +230780544701 +230780851650 +230781296978 +230780842351 +230780776141 +230780365692 +240100727106 +240100432122 +240101492086 +240101056876 +240740631137 +240740994495 +240740426973 +240741437546 +240741043090 +240741529250 +240741156021 +240740985456 +241001997462 +241000372493 +241001634828 +241001926712 +241000983434 +241451487635 +241450511729 +241451297372 +241450299678 +241451046609 +241481131512 +241481677061 +241480318212 +241481473421 +241481948753 +241481285476 +241481629153 +241481475520 +250041487059 +250041855742 +250041459994 +251190722023 +251190220396 +251191714982 +251191396635 +251190308653 +251190783325 +251301711452 +251301944589 +251301085650 +251300468724 +260141753583 +260140656198 +260140930381 +260141002073 +260141217773 +260141635036 +260150408351 +260151796016 +260181191578 +260180276491 +260561796514 +270031757525 +270030922885 +270031070732 +270351127107 +270351491931 +270350264244 +270351655225 +270350999794 +270351960276 +271061201317 +271060819041 +271061671604 +271061044910 +271061115870 +271060582872 +280390843304 +280391879911 +280390791822 +280670780421 +280671884896 +280670499650 +280670340738 +280670641334 +281161852027 +281160584945 +281161944256 +281161747676 +291140314175 +291141252402 +291141317685 +291141209221 +291140949576 +291411882921 +291410867798 +291411415838 +291411728436 +300020618290 +300750658194 +300750979185 +300750857467 +300750301677 +300751065530 +301430735483 +301430366276 +301431442834 +310071658590 +310470601829 +330011070142 +330011039969 +330011782172 +330011704417 +330011653372 +330011203472 +330011690957 +330011168986 +330011623519 +330010983157 +330850581673 +330850457738 +330851833766 +330850744782 +331240949489 +331240927435 +331241966677 +340210820971 +350311451265 +351050447883 +351050587675 +351050269966 +351050688697 +351050855297 +351051471317 +351051804985 +351471279180 +351471360008 +351471482781 +361151297448 +361150947837 +370260483706 +370260293651 +370260341525 +370261583052 +370261452408 +370260399643 +370260833539 +370261967932 +370260892125 +370621044312 +370620517882 +370621223888 +370620960618 +371011000195 +371011356047 +371330218648 +371330344954 +371331849219 +371330998510 +371331770820 +371331275591 +371341344877 +371341598993 +371341334118 +390420950495 +390430987443 +390431909952 +390431509883 +390430312814 +390531247658 +390531484852 +390531370226 +390531492296 +390990419928 +390991345747 +400110472316 +400110747450 +400111187194 +400441472645 +400441708078 +400441497952 +410950530200 +410951196314 +410951570625 +410951286960 +430791105045 +430790657964 +430790378487 +430791498663 +430791703100 +440860978483 +440861850128 +440861063081 +440961809367 +440971748096 +440970528774 +441350249229 +451220581367 +470121612782 +470121980504 +470121192587 +470321407944 +470321400069 +470320601699 +470320570694 +470321630971 +471101550510 +471101512273 +471100405236 +471100481834 +481461842511 +481461190618 +481460506585 +481461745219 +481461911259 +481461255666 +491031968780 +491031613526 +491031280295 +491030204143 +491033342728 +500870738662 +500870409021 +500871927272 +500871814340 +501320290417 +501325319783 +501320578787 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1.cbl b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1.cbl new file mode 100644 index 0000000..3ba9b88 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-1.cbl @@ -0,0 +1,162 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing18-1. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT SalesFile ASSIGN TO "Listing18-1-Sales.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT PrintFile ASSIGN TO "Listing18-1.Rpt". + + +DATA DIVISION. +FILE SECTION. +FD SalesFile. +01 SalesRecord. + 88 EndOfFile VALUE HIGH-VALUES. + 02 StateNum PIC 99. + 02 SalesAgentNum PIC 999. + 02 ValueOfSale PIC 9(5)V99. + +FD PrintFile + REPORT IS SolaceSalesReport. + +WORKING-STORAGE SECTION. +01 StateNameTable. + 02 StateNameValues. + 03 FILLER PIC X(14) VALUE "Alabama". + 03 FILLER PIC X(14) VALUE "Alaska". + 03 FILLER PIC X(14) VALUE "Arizona". + 03 FILLER PIC X(14) VALUE "Arkansas". + 03 FILLER PIC X(14) VALUE "California". + 03 FILLER PIC X(14) VALUE "Colorado". + 03 FILLER PIC X(14) VALUE "Connecticut". + 03 FILLER PIC X(14) VALUE "Delaware". + 03 FILLER PIC X(14) VALUE "Florida". + 03 FILLER PIC X(14) VALUE "Georgia". + 03 FILLER PIC X(14) VALUE "Hawaii". + 03 FILLER PIC X(14) VALUE "Idaho". + 03 FILLER PIC X(14) VALUE "Illinois". + 03 FILLER PIC X(14) VALUE "Indiana". + 03 FILLER PIC X(14) VALUE "Iowa". + 03 FILLER PIC X(14) VALUE "Kansas". + 03 FILLER PIC X(14) VALUE "Kentucky". + 03 FILLER PIC X(14) VALUE "Louisiana". + 03 FILLER PIC X(14) VALUE "Maine". + 03 FILLER PIC X(14) VALUE "Maryland". + 03 FILLER PIC X(14) VALUE "Massachusetts". + 03 FILLER PIC X(14) VALUE "Michigan". + 03 FILLER PIC X(14) VALUE "Minnesota". + 03 FILLER PIC X(14) VALUE "Mississippi". + 03 FILLER PIC X(14) VALUE "Missouri". + 03 FILLER PIC X(14) VALUE "Montana". + 03 FILLER PIC X(14) VALUE "Nebraska". + 03 FILLER PIC X(14) VALUE "Nevada". + 03 FILLER PIC X(14) VALUE "New Hampshire". + 03 FILLER PIC X(14) VALUE "New Jersey". + 03 FILLER PIC X(14) VALUE "New Mexico". + 03 FILLER PIC X(14) VALUE "New York". + 03 FILLER PIC X(14) VALUE "North Carolina". + 03 FILLER PIC X(14) VALUE "North Dakota". + 03 FILLER PIC X(14) VALUE "Ohio". + 03 FILLER PIC X(14) VALUE "Oklahoma". + 03 FILLER PIC X(14) VALUE "Oregon". + 03 FILLER PIC X(14) VALUE "Pennsylvania". + 03 FILLER PIC X(14) VALUE "Rhode Island". + 03 FILLER PIC X(14) VALUE "South Carolina". + 03 FILLER PIC X(14) VALUE "South Dakota". + 03 FILLER PIC X(14) VALUE "Tennessee". + 03 FILLER PIC X(14) VALUE "Texas". + 03 FILLER PIC X(14) VALUE "Utah". + 03 FILLER PIC X(14) VALUE "Vermont". + 03 FILLER PIC X(14) VALUE "Virginia". + 03 FILLER PIC X(14) VALUE "Washington". + 03 FILLER PIC X(14) VALUE "West Virginia". + 03 FILLER PIC X(14) VALUE "Wisconsin". + 03 FILLER PIC X(14) VALUE "Wyoming". +02 FILLER REDEFINES StateNameValues. + 03 State OCCURS 50 TIMES. + 04 StateName PIC X(14). + + +REPORT SECTION. +RD SolaceSalesReport + CONTROLS ARE StateNum + SalesAgentNum + PAGE LIMIT IS 54 + FIRST DETAIL 3 + LAST DETAIL 46 + FOOTING 48. + +01 TYPE IS REPORT HEADING NEXT GROUP PlUS 1. + 02 LINE 1. + 03 COLUMN 20 PIC X(32) + VALUE "Solace Solar Solutions". + + 02 LINE 2. + 03 COLUMN 6 PIC X(52) + VALUE "Sales Agent - Sales and Salary Report Monthly Report". + + +01 TYPE IS PAGE HEADING. + 02 LINE IS PLUS 1. + 03 COLUMN 2 PIC X(5) VALUE "State". + 03 COLUMN 16 PIC X(5) VALUE "Agent". + 03 COLUMN 32 PIC X(8) VALUE "Value". + + 02 LINE IS PLUS 1. + 03 COLUMN 2 PIC X(4) VALUE "Name". + 03 COLUMN 16 PIC X(6) VALUE "Number". + 03 COLUMN 31 PIC X(8) VALUE "Of Sales". + + +01 DetailLine TYPE IS DETAIL. + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(14) + SOURCE StateName(StateNum). + 03 COLUMN 17 PIC ZZ9 + SOURCE SalesAgentNum. + 03 COLUMN 30 PIC $$$,$$$.99 SOURCE ValueOfSale. + + +01 SalesAgentGrp + TYPE IS CONTROL FOOTING SalesAgentNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(21) VALUE "Sales for sales agent". + 03 COLUMN 37 PIC ZZ9 SOURCE SalesAgentNum. + 03 COLUMN 43 PIC X VALUE "=". + 03 TotalAgentSales COLUMN 45 PIC $$$$$,$$$.99 SUM ValueOfSale. + +01 StateGrp TYPE IS CONTROL FOOTING StateNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(58) VALUE ALL "-". + +01 TYPE IS PAGE FOOTING. + 02 LINE IS 49. + 03 COLUMN 1 PIC X(29) VALUE "Programmer - Michael Coughlan". + 03 COLUMN 55 PIC X(6) VALUE "Page :". + 03 COLUMN 62 PIC ZZ9 SOURCE PAGE-COUNTER. + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT SalesFile. + OPEN OUTPUT PrintFile. + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ. + INITIATE SolaceSalesReport. + PERFORM PrintSalaryReport + UNTIL EndOfFile. + TERMINATE SolaceSalesReport. + CLOSE SalesFile, PrintFile. + STOP RUN. + + +PrintSalaryReport. + GENERATE DetailLine. + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2-Sales.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2-Sales.DAT new file mode 100644 index 0000000..f75860e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2-Sales.DAT @@ -0,0 +1,489 @@ +010380932514 +010381183919 +010381910261 +010730450371 +010731165987 +010731954019 +020551898184 +020550306597 +020551068692 +020891118772 +020891414582 +021041800542 +021041761420 +030230423772 +030231331500 +030900207893 +030901722888 +030900892996 +040831386216 +040911639899 +041091262693 +041091289102 +041091955625 +050130490534 +050131588815 +050130468961 +050361931495 +050361719488 +050360218200 +051120990238 +060251530055 +060251554134 +060341534992 +060340377363 +060520427458 +060521196993 +060521569940 +060520590897 +060520722978 +060520965584 +060814238751 +060810523220 +060810642746 +061070969326 +061070983366 +070271120997 +070271194783 +070270326121 +070271758175 +070331852017 +070330704882 +070331838685 +070331630400 +070370686177 +070370646249 +070371112822 +070370832107 +071131908989 +071131037414 +080290590018 +080291725911 +080290549008 +080290630480 +080291326422 +080701059731 +080701729032 +080701225866 +080700763024 +090281886992 +090280268985 +090281007423 +090881984506 +090881293706 +090881026177 +090881030038 +090881202118 +090880781425 +091081494866 +091081468134 +100201877100 +100200744348 +100201549660 +100460490945 +100461056427 +100571399377 +100570857623 +100571588600 +100631845600 +100630426357 +100981976360 +110051134688 +110051233544 +110051155330 +110051169862 +110050603028 +111021831736 +111021843851 +111021328708 +111021006455 +111281541014 +111281186495 +111280565823 +111280425349 +111280441462 +120480504894 +120485281369 +120511900114 +120510812968 +120511943909 +120511784700 +120541327172 +120541774010 +120540415564 +120540877103 +120540635109 +120654233377 +120651225464 +120690772849 +120690349436 +120690560373 +120691873582 +120691168315 +120691438742 +120691446038 +121201329772 +121201292627 +130801039165 +130800703472 +130801816473 +130821877506 +130821723458 +130820341177 +130820898637 +130921670190 +130921417598 +131181274678 +131181481815 +131181106817 +131180910083 +131180818902 +131291713462 +131291887819 +131291673182 +131291452198 +131440361478 +131441727639 +131441534220 +140091600464 +140091901715 +140090650851 +140090633591 +140601227707 +140600723977 +140600851046 +140600231142 +140601074641 +141421000490 +141421129656 +150451666988 +150450234144 +150450804049 +150450459243 +151381436150 +151381369159 +151501691271 +151500587534 +160581985210 +160581134905 +160581589985 +160581927880 +170400722809 +170401706436 +170400591664 +170400479543 +170931079782 +170940735112 +170941428986 +171170288031 +171171208035 +171170653671 +171360730704 +171360800444 +171361384755 +171360551108 +180590487604 +180591312043 +180591526409 +180590603424 +190641738400 +190640774192 +190640772952 +190641869835 +190641588116 +190640450682 +190641574027 +190641216464 +190641050287 +190641122558 +190640850760 +191261600612 +191261493962 +191260760074 +191261242616 +191260219428 +191261251218 +191491422698 +191491251564 +191491250563 +191490236645 +200061901231 +200060831182 +200060810730 +200060553389 +200060466530 +200061498524 +200061941481 +200221984582 +200220408942 +201231465735 +201231029803 +210191033043 +210191456181 +210191293071 +210190352392 +211390960222 +211391019598 +211390775022 +211390425984 +211391715156 +220081103721 +220081823740 +220080945854 +220491193291 +220491563134 +220491898006 +220491012115 +220491711747 +220491259336 +220490580871 +221211805723 +221211239082 +221210472631 +221251683740 +221370881324 +221370960653 +221370746515 +221370551449 +230171251322 +230171404198 +230171869615 +230170274081 +230171873063 +230171500549 +230171402753 +230710893738 +230721494688 +230720823739 +230721044573 +230721755251 +230781881456 +230781671290 +230780410312 +230780671011 +230780544701 +230780851650 +230781296978 +230780842351 +230780776141 +230780365692 +240100727106 +240100432122 +240101492086 +240101056876 +240740631137 +240740994495 +240740426973 +240741437546 +240741043090 +240741529250 +240741156021 +240740985456 +241001997462 +241000372493 +241001634828 +241001926712 +241000983434 +241451487635 +241450511729 +241451297372 +241450299678 +241451046609 +241481131512 +241481677061 +241480318212 +241481473421 +241481948753 +241481285476 +241481629153 +241481475520 +250041487059 +250041855742 +250041459994 +251190722023 +251190220396 +251191714982 +251191396635 +251190308653 +251190783325 +251301711452 +251301944589 +251301085650 +251300468724 +260141753583 +260140656198 +260140930381 +260141002073 +260141217773 +260141635036 +260150408351 +260151796016 +260181191578 +260180276491 +260561796514 +270031757525 +270030922885 +270031070732 +270351127107 +270351491931 +270350264244 +270351655225 +270350999794 +270351960276 +271061201317 +271060819041 +271061671604 +271061044910 +271061115870 +271060582872 +280390843304 +280391879911 +280390791822 +280670780421 +280671884896 +280670499650 +280670340738 +280670641334 +281161852027 +281160584945 +281161944256 +281161747676 +291140314175 +291141252402 +291141317685 +291141209221 +291140949576 +291411882921 +291410867798 +291411415838 +291411728436 +300020618290 +300750658194 +300750979185 +300750857467 +300750301677 +300751065530 +301430735483 +301430366276 +301431442834 +310071658590 +310470601829 +330011070142 +330011039969 +330011782172 +330011704417 +330011653372 +330011203472 +330011690957 +330011168986 +330011623519 +330010983157 +330850581673 +330850457738 +330851833766 +330850744782 +331240949489 +331240927435 +331241966677 +340210820971 +350311451265 +351050447883 +351050587675 +351050269966 +351050688697 +351050855297 +351051471317 +351051804985 +351471279180 +351471360008 +351471482781 +361151297448 +361150947837 +370260483706 +370260293651 +370260341525 +370261583052 +370261452408 +370260399643 +370260833539 +370261967932 +370260892125 +370621044312 +370620517882 +370621223888 +370620960618 +371011000195 +371011356047 +371330218648 +371330344954 +371331849219 +371330998510 +371331770820 +371331275591 +371341344877 +371341598993 +371341334118 +390420950495 +390430987443 +390431909952 +390431509883 +390430312814 +390531247658 +390531484852 +390531370226 +390531492296 +390990419928 +390991345747 +400110472316 +400110747450 +400111187194 +400441472645 +400441708078 +400441497952 +410950530200 +410951196314 +410951570625 +410951286960 +430791105045 +430790657964 +430790378487 +430791498663 +430791703100 +440860978483 +440861850128 +440861063081 +440961809367 +440971748096 +440970528774 +441350249229 +451220581367 +470121612782 +470121980504 +470121192587 +470321407944 +470321400069 +470320601699 +470320570694 +470321630971 +471101550510 +471101512273 +471100405236 +471100481834 +481461842511 +481461190618 +481460506585 +481461745219 +481461911259 +481461255666 +491031968780 +491031613526 +491031280295 +491030204143 +491033342728 +500870738662 +500870409021 +500871927272 +500871814340 +501320290417 +501325319783 +501320578787 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2.cbl b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2.cbl new file mode 100644 index 0000000..2de79ff --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-2.cbl @@ -0,0 +1,183 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing18-2. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT SalesFile ASSIGN TO "Listing18-2-Sales.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT PrintFile ASSIGN TO "Listing18-2.Rpt". + + +DATA DIVISION. +FILE SECTION. +FD SalesFile. +01 SalesRecord. + 88 EndOfFile VALUE HIGH-VALUES. + 02 StateNum PIC 99. + 02 SalesAgentNum PIC 999. + 02 ValueOfSale PIC 9(5)V99. + +FD PrintFile + REPORT IS SolaceSalesReport. + +WORKING-STORAGE SECTION. +01 StateNameTable. + 02 StateNameValues. + 03 FILLER PIC X(18) VALUE "1149Alabama". + 03 FILLER PIC X(18) VALUE "1536Alaska". + 03 FILLER PIC X(18) VALUE "1284Arizona". + 03 FILLER PIC X(18) VALUE "1064Arkansas". + 03 FILLER PIC X(18) VALUE "1459California". + 03 FILLER PIC X(18) VALUE "1508Colorado". + 03 FILLER PIC X(18) VALUE "1742Connecticut". + 03 FILLER PIC X(18) VALUE "1450Delaware". + 03 FILLER PIC X(18) VALUE "1328Florida". + 03 FILLER PIC X(18) VALUE "1257Georgia". + 03 FILLER PIC X(18) VALUE "1444Hawaii". + 03 FILLER PIC X(18) VALUE "1126Idaho". + 03 FILLER PIC X(18) VALUE "1439Illinois". + 03 FILLER PIC X(18) VALUE "1203Indiana". + 03 FILLER PIC X(18) VALUE "1267Iowa". + 03 FILLER PIC X(18) VALUE "1295Kansas". + 03 FILLER PIC X(18) VALUE "1126Kentucky". + 03 FILLER PIC X(18) VALUE "1155Louisiana". + 03 FILLER PIC X(18) VALUE "1269Maine". + 03 FILLER PIC X(18) VALUE "1839Maryland". + 03 FILLER PIC X(18) VALUE "1698Massachusetts". + 03 FILLER PIC X(18) VALUE "1257Michigan". + 03 FILLER PIC X(18) VALUE "1479Minnesota". + 03 FILLER PIC X(18) VALUE "0999Mississippi". + 03 FILLER PIC X(18) VALUE "1236Missouri". + 03 FILLER PIC X(18) VALUE "1192Montana". + 03 FILLER PIC X(18) VALUE "1261Nebraska". + 03 FILLER PIC X(18) VALUE "1379Nevada". + 03 FILLER PIC X(18) VALUE "1571New Hampshire". + 03 FILLER PIC X(18) VALUE "1743New Jersey". + 03 FILLER PIC X(18) VALUE "1148New Mexico". + 03 FILLER PIC X(18) VALUE "1547New York". + 03 FILLER PIC X(18) VALUE "1237North Carolina". + 03 FILLER PIC X(18) VALUE "1290North Dakota". + 03 FILLER PIC X(18) VALUE "1256Ohio". + 03 FILLER PIC X(18) VALUE "1155Oklahoma". + 03 FILLER PIC X(18) VALUE "1309Oregon". + 03 FILLER PIC X(18) VALUE "1352Pennsylvania". + 03 FILLER PIC X(18) VALUE "1435Rhode Island". + 03 FILLER PIC X(18) VALUE "1172South Carolina". + 03 FILLER PIC X(18) VALUE "1206South Dakota". + 03 FILLER PIC X(18) VALUE "1186Tennessee". + 03 FILLER PIC X(18) VALUE "1244Texas". + 03 FILLER PIC X(18) VALUE "1157Utah". + 03 FILLER PIC X(18) VALUE "1374Vermont". + 03 FILLER PIC X(18) VALUE "1607Virginia". + 03 FILLER PIC X(18) VALUE "1487Washington". + 03 FILLER PIC X(18) VALUE "1062West Virginia". + 03 FILLER PIC X(18) VALUE "1393Wisconsin". + 03 FILLER PIC X(18) VALUE "1393Wyoming". +02 FILLER REDEFINES StateNameValues. + 03 State OCCURS 50 TIMES. + 04 BaseSalary PIC 9(4). + 04 StateName PIC X(14). + + +REPORT SECTION. +RD SolaceSalesReport + CONTROLS ARE FINAL + StateNum + SalesAgentNum + PAGE LIMIT IS 54 + FIRST DETAIL 3 + LAST DETAIL 42 + FOOTING 48. + +01 TYPE IS REPORT HEADING NEXT GROUP PlUS 1. + 02 LINE 1. + 03 COLUMN 20 PIC X(32) + VALUE "Solace Solar Solutions". + + 02 LINE 2. + 03 COLUMN 6 PIC X(52) + VALUE "Sales Agent - Sales and Salary Report Monthly Report". + + +01 TYPE IS PAGE HEADING. + 02 LINE IS PLUS 1. + 03 COLUMN 2 PIC X(5) VALUE "State". + 03 COLUMN 16 PIC X(5) VALUE "Agent". + 03 COLUMN 32 PIC X(8) VALUE "Value". + + 02 LINE IS PLUS 1. + 03 COLUMN 2 PIC X(4) VALUE "Name". + 03 COLUMN 16 PIC X(6) VALUE "Number". + 03 COLUMN 31 PIC X(8) VALUE "Of Sales". + + +01 DetailLine TYPE IS DETAIL. + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(14) + SOURCE StateName(StateNum) GROUP INDICATE. + 03 COLUMN 17 PIC ZZ9 + SOURCE SalesAgentNum GROUP INDICATE. + 03 COLUMN 30 PIC $$$,$$$.99 SOURCE ValueOfSale. + + +01 SalesAgentGrp + TYPE IS CONTROL FOOTING SalesAgentNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(21) VALUE "Sales for sales agent". + 03 COLUMN 37 PIC ZZ9 SOURCE SalesAgentNum. + 03 COLUMN 43 PIC X VALUE "=". + 03 TotalAgentSales COLUMN 45 PIC $$$$$,$$$.99 SUM ValueOfSale. + +01 StateGrp TYPE IS CONTROL FOOTING StateNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 2. + 03 COLUMN 15 PIC X(15) VALUE "Total sales for". + 03 COLUMN 31 PIC X(14) SOURCE StateName(StateNum). + 03 TotalStateSales COLUMN 45 PIC $$$$$,$$$.99 SUM TotalAgentSales. + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(15) VALUE "Base salary for". + 03 COLUMN 31 PIC X(14) SOURCE StateName(StateNum). + 03 COLUMN 48 PIC $$,$$$.99 SOURCE BaseSalary(StateNum). + + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(58) VALUE ALL "-". + + +01 TotalSalesGrp TYPE IS CONTROL FOOTING FINAL. + 02 LINE IS PLUS 2. + 03 COLUMN 15 PIC X(11) + VALUE "Total sales". + 03 COLUMN 46 PIC X VALUE "=". + 03 COLUMN 48 PIC $$,$$$,$$$.99 SUM TotalStateSales. + + +01 TYPE IS PAGE FOOTING. + 02 LINE IS 49. + 03 COLUMN 1 PIC X(29) VALUE "Programmer - Michael Coughlan". + 03 COLUMN 55 PIC X(6) VALUE "Page :". + 03 COLUMN 62 PIC ZZ9 SOURCE PAGE-COUNTER. + + +PROCEDURE DIVISION. +Begin. + OPEN INPUT SalesFile. + OPEN OUTPUT PrintFile. + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ. + INITIATE SolaceSalesReport. + PERFORM PrintSalaryReport + UNTIL EndOfFile. + TERMINATE SolaceSalesReport. + CLOSE SalesFile, PrintFile. + STOP RUN. + + +PrintSalaryReport. + GENERATE DetailLine. + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3-Sales.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3-Sales.DAT new file mode 100644 index 0000000..f75860e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3-Sales.DAT @@ -0,0 +1,489 @@ +010380932514 +010381183919 +010381910261 +010730450371 +010731165987 +010731954019 +020551898184 +020550306597 +020551068692 +020891118772 +020891414582 +021041800542 +021041761420 +030230423772 +030231331500 +030900207893 +030901722888 +030900892996 +040831386216 +040911639899 +041091262693 +041091289102 +041091955625 +050130490534 +050131588815 +050130468961 +050361931495 +050361719488 +050360218200 +051120990238 +060251530055 +060251554134 +060341534992 +060340377363 +060520427458 +060521196993 +060521569940 +060520590897 +060520722978 +060520965584 +060814238751 +060810523220 +060810642746 +061070969326 +061070983366 +070271120997 +070271194783 +070270326121 +070271758175 +070331852017 +070330704882 +070331838685 +070331630400 +070370686177 +070370646249 +070371112822 +070370832107 +071131908989 +071131037414 +080290590018 +080291725911 +080290549008 +080290630480 +080291326422 +080701059731 +080701729032 +080701225866 +080700763024 +090281886992 +090280268985 +090281007423 +090881984506 +090881293706 +090881026177 +090881030038 +090881202118 +090880781425 +091081494866 +091081468134 +100201877100 +100200744348 +100201549660 +100460490945 +100461056427 +100571399377 +100570857623 +100571588600 +100631845600 +100630426357 +100981976360 +110051134688 +110051233544 +110051155330 +110051169862 +110050603028 +111021831736 +111021843851 +111021328708 +111021006455 +111281541014 +111281186495 +111280565823 +111280425349 +111280441462 +120480504894 +120485281369 +120511900114 +120510812968 +120511943909 +120511784700 +120541327172 +120541774010 +120540415564 +120540877103 +120540635109 +120654233377 +120651225464 +120690772849 +120690349436 +120690560373 +120691873582 +120691168315 +120691438742 +120691446038 +121201329772 +121201292627 +130801039165 +130800703472 +130801816473 +130821877506 +130821723458 +130820341177 +130820898637 +130921670190 +130921417598 +131181274678 +131181481815 +131181106817 +131180910083 +131180818902 +131291713462 +131291887819 +131291673182 +131291452198 +131440361478 +131441727639 +131441534220 +140091600464 +140091901715 +140090650851 +140090633591 +140601227707 +140600723977 +140600851046 +140600231142 +140601074641 +141421000490 +141421129656 +150451666988 +150450234144 +150450804049 +150450459243 +151381436150 +151381369159 +151501691271 +151500587534 +160581985210 +160581134905 +160581589985 +160581927880 +170400722809 +170401706436 +170400591664 +170400479543 +170931079782 +170940735112 +170941428986 +171170288031 +171171208035 +171170653671 +171360730704 +171360800444 +171361384755 +171360551108 +180590487604 +180591312043 +180591526409 +180590603424 +190641738400 +190640774192 +190640772952 +190641869835 +190641588116 +190640450682 +190641574027 +190641216464 +190641050287 +190641122558 +190640850760 +191261600612 +191261493962 +191260760074 +191261242616 +191260219428 +191261251218 +191491422698 +191491251564 +191491250563 +191490236645 +200061901231 +200060831182 +200060810730 +200060553389 +200060466530 +200061498524 +200061941481 +200221984582 +200220408942 +201231465735 +201231029803 +210191033043 +210191456181 +210191293071 +210190352392 +211390960222 +211391019598 +211390775022 +211390425984 +211391715156 +220081103721 +220081823740 +220080945854 +220491193291 +220491563134 +220491898006 +220491012115 +220491711747 +220491259336 +220490580871 +221211805723 +221211239082 +221210472631 +221251683740 +221370881324 +221370960653 +221370746515 +221370551449 +230171251322 +230171404198 +230171869615 +230170274081 +230171873063 +230171500549 +230171402753 +230710893738 +230721494688 +230720823739 +230721044573 +230721755251 +230781881456 +230781671290 +230780410312 +230780671011 +230780544701 +230780851650 +230781296978 +230780842351 +230780776141 +230780365692 +240100727106 +240100432122 +240101492086 +240101056876 +240740631137 +240740994495 +240740426973 +240741437546 +240741043090 +240741529250 +240741156021 +240740985456 +241001997462 +241000372493 +241001634828 +241001926712 +241000983434 +241451487635 +241450511729 +241451297372 +241450299678 +241451046609 +241481131512 +241481677061 +241480318212 +241481473421 +241481948753 +241481285476 +241481629153 +241481475520 +250041487059 +250041855742 +250041459994 +251190722023 +251190220396 +251191714982 +251191396635 +251190308653 +251190783325 +251301711452 +251301944589 +251301085650 +251300468724 +260141753583 +260140656198 +260140930381 +260141002073 +260141217773 +260141635036 +260150408351 +260151796016 +260181191578 +260180276491 +260561796514 +270031757525 +270030922885 +270031070732 +270351127107 +270351491931 +270350264244 +270351655225 +270350999794 +270351960276 +271061201317 +271060819041 +271061671604 +271061044910 +271061115870 +271060582872 +280390843304 +280391879911 +280390791822 +280670780421 +280671884896 +280670499650 +280670340738 +280670641334 +281161852027 +281160584945 +281161944256 +281161747676 +291140314175 +291141252402 +291141317685 +291141209221 +291140949576 +291411882921 +291410867798 +291411415838 +291411728436 +300020618290 +300750658194 +300750979185 +300750857467 +300750301677 +300751065530 +301430735483 +301430366276 +301431442834 +310071658590 +310470601829 +330011070142 +330011039969 +330011782172 +330011704417 +330011653372 +330011203472 +330011690957 +330011168986 +330011623519 +330010983157 +330850581673 +330850457738 +330851833766 +330850744782 +331240949489 +331240927435 +331241966677 +340210820971 +350311451265 +351050447883 +351050587675 +351050269966 +351050688697 +351050855297 +351051471317 +351051804985 +351471279180 +351471360008 +351471482781 +361151297448 +361150947837 +370260483706 +370260293651 +370260341525 +370261583052 +370261452408 +370260399643 +370260833539 +370261967932 +370260892125 +370621044312 +370620517882 +370621223888 +370620960618 +371011000195 +371011356047 +371330218648 +371330344954 +371331849219 +371330998510 +371331770820 +371331275591 +371341344877 +371341598993 +371341334118 +390420950495 +390430987443 +390431909952 +390431509883 +390430312814 +390531247658 +390531484852 +390531370226 +390531492296 +390990419928 +390991345747 +400110472316 +400110747450 +400111187194 +400441472645 +400441708078 +400441497952 +410950530200 +410951196314 +410951570625 +410951286960 +430791105045 +430790657964 +430790378487 +430791498663 +430791703100 +440860978483 +440861850128 +440861063081 +440961809367 +440971748096 +440970528774 +441350249229 +451220581367 +470121612782 +470121980504 +470121192587 +470321407944 +470321400069 +470320601699 +470320570694 +470321630971 +471101550510 +471101512273 +471100405236 +471100481834 +481461842511 +481461190618 +481460506585 +481461745219 +481461911259 +481461255666 +491031968780 +491031613526 +491031280295 +491030204143 +491033342728 +500870738662 +500870409021 +500871927272 +500871814340 +501320290417 +501325319783 +501320578787 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3.cbl b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3.cbl new file mode 100644 index 0000000..ee09bce --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-3.cbl @@ -0,0 +1,226 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing18-3. +AUTHOR. Michael Coughlan. + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT SalesFile ASSIGN TO "Listing18-3-Sales.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + + SELECT PrintFile ASSIGN TO "Listing18-3.Rpt". + + +DATA DIVISION. +FILE SECTION. +FD SalesFile. +01 SalesRecord. + 88 EndOfFile VALUE HIGH-VALUES. + 02 StateNum PIC 99. + 02 SalesAgentNum PIC 999. + 02 ValueOfSale PIC 9(5)V99. + +FD PrintFile + REPORT IS SolaceSalesReport. + +WORKING-STORAGE SECTION. +01 StateNameTable. + 02 StateNameValues. + 03 FILLER PIC X(18) VALUE "1149Alabama". + 03 FILLER PIC X(18) VALUE "1536Alaska". + 03 FILLER PIC X(18) VALUE "1284Arizona". + 03 FILLER PIC X(18) VALUE "1064Arkansas". + 03 FILLER PIC X(18) VALUE "1459California". + 03 FILLER PIC X(18) VALUE "1508Colorado". + 03 FILLER PIC X(18) VALUE "1742Connecticut". + 03 FILLER PIC X(18) VALUE "1450Delaware". + 03 FILLER PIC X(18) VALUE "1328Florida". + 03 FILLER PIC X(18) VALUE "1257Georgia". + 03 FILLER PIC X(18) VALUE "1444Hawaii". + 03 FILLER PIC X(18) VALUE "1126Idaho". + 03 FILLER PIC X(18) VALUE "1439Illinois". + 03 FILLER PIC X(18) VALUE "1203Indiana". + 03 FILLER PIC X(18) VALUE "1267Iowa". + 03 FILLER PIC X(18) VALUE "1295Kansas". + 03 FILLER PIC X(18) VALUE "1126Kentucky". + 03 FILLER PIC X(18) VALUE "1155Louisiana". + 03 FILLER PIC X(18) VALUE "1269Maine". + 03 FILLER PIC X(18) VALUE "1839Maryland". + 03 FILLER PIC X(18) VALUE "1698Massachusetts". + 03 FILLER PIC X(18) VALUE "1257Michigan". + 03 FILLER PIC X(18) VALUE "1479Minnesota". + 03 FILLER PIC X(18) VALUE "0999Mississippi". + 03 FILLER PIC X(18) VALUE "1236Missouri". + 03 FILLER PIC X(18) VALUE "1192Montana". + 03 FILLER PIC X(18) VALUE "1261Nebraska". + 03 FILLER PIC X(18) VALUE "1379Nevada". + 03 FILLER PIC X(18) VALUE "1571New Hampshire". + 03 FILLER PIC X(18) VALUE "1743New Jersey". + 03 FILLER PIC X(18) VALUE "1148New Mexico". + 03 FILLER PIC X(18) VALUE "1547New York". + 03 FILLER PIC X(18) VALUE "1237North Carolina". + 03 FILLER PIC X(18) VALUE "1290North Dakota". + 03 FILLER PIC X(18) VALUE "1256Ohio". + 03 FILLER PIC X(18) VALUE "1155Oklahoma". + 03 FILLER PIC X(18) VALUE "1309Oregon". + 03 FILLER PIC X(18) VALUE "1352Pennsylvania". + 03 FILLER PIC X(18) VALUE "1435Rhode Island". + 03 FILLER PIC X(18) VALUE "1172South Carolina". + 03 FILLER PIC X(18) VALUE "1206South Dakota". + 03 FILLER PIC X(18) VALUE "1186Tennessee". + 03 FILLER PIC X(18) VALUE "1244Texas". + 03 FILLER PIC X(18) VALUE "1157Utah". + 03 FILLER PIC X(18) VALUE "1374Vermont". + 03 FILLER PIC X(18) VALUE "1607Virginia". + 03 FILLER PIC X(18) VALUE "1487Washington". + 03 FILLER PIC X(18) VALUE "1062West Virginia". + 03 FILLER PIC X(18) VALUE "1393Wisconsin". + 03 FILLER PIC X(18) VALUE "1393Wyoming". +02 FILLER REDEFINES StateNameValues. + 03 State OCCURS 50 TIMES. + 04 BaseSalary PIC 9(4). + 04 StateName PIC X(14). + + +01 MiscVariables. + 02 SalesCommission PIC 9(5)V99. + 02 Percentage PIC V99 VALUE .08. + 02 FullSalary PIC 9(6)V99. + 02 ActualStateNum PIC 99. + + +REPORT SECTION. +RD SolaceSalesReport + CONTROLS ARE FINAL + StateNum + SalesAgentNum + PAGE LIMIT IS 66 + HEADING 1 + FIRST DETAIL 6 + LAST DETAIL 54 + FOOTING 56. + +01 TYPE IS PAGE HEADING. + 02 LINE 1. + 03 COLUMN 20 PIC X(32) + VALUE "Solace Solar Solutions". + + 02 LINE 2. + 03 COLUMN 6 PIC X(52) + VALUE "Sales Agent - Sales and Salary Report Monthly Report". + + 02 LINE 4. + 03 COLUMN 2 PIC X(5) VALUE "State". + 03 COLUMN 16 PIC X(5) VALUE "Agent". + 03 COLUMN 32 PIC X(8) VALUE "Value". + + 02 LINE 5. + 03 COLUMN 2 PIC X(4) VALUE "Name". + 03 COLUMN 16 PIC X(6) VALUE "Number". + 03 COLUMN 31 PIC X(8) VALUE "Of Sales". + + +01 DetailLine TYPE IS DETAIL. + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(14) + SOURCE StateName(StateNum) GROUP INDICATE. + 03 COLUMN 17 PIC 999 + SOURCE SalesAgentNum GROUP INDICATE. + 03 COLUMN 30 PIC $$$,$$$.99 SOURCE ValueOfSale. + + +01 SalesAgentGrp + TYPE IS CONTROL FOOTING SalesAgentNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(21) VALUE "Sales for sales agent". + 03 COLUMN 37 PIC 999 SOURCE SalesAgentNum. + 03 COLUMN 43 PIC X VALUE "=". + 03 TotalAgentSales COLUMN 45 PIC $$$$$,$$$.99 SUM ValueOfSale. + + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(19) VALUE "Sales commission is". + 03 COLUMN 43 PIC X VALUE "=". + 03 COLUMN 45 PIC $$$$$,$$$.99 SOURCE SalesCommission. + + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(22) VALUE "Sales agent salary is". + 03 COLUMN 43 PIC X VALUE "=". + 03 COLUMN 45 PIC $$$$$,$$$.99 SOURCE FullSalary. + + + +01 StateGrp TYPE IS CONTROL FOOTING StateNum NEXT GROUP PLUS 2. + 02 LINE IS PLUS 2. + 03 COLUMN 15 PIC X(15) VALUE "Total sales for". + 03 COLUMN 31 PIC X(14) SOURCE StateName(StateNum). + 03 TotalStateSales COLUMN 45 PIC $$$$$,$$$.99 SUM TotalAgentSales. + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(15) VALUE "Base salary for". + 03 COLUMN 31 PIC X(14) SOURCE StateName(StateNum). + 03 COLUMN 48 PIC $$,$$$.99 SOURCE BaseSalary(StateNum). + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(26) + VALUE "Actual state number is -". + 03 COLUMN 42 PIC Z9 SOURCE ActualStateNum. + + 02 LINE IS PLUS 1. + 03 COLUMN 15 PIC X(26) + VALUE "Supplied state number is -". + 03 COLUMN 42 PIC Z9 SOURCE StateNum. + + 02 LINE IS PLUS 1. + 03 COLUMN 1 PIC X(58) VALUE ALL "-". + + + +01 TotalSalesGrp TYPE IS CONTROL FOOTING FINAL. + 02 LINE IS PLUS 4. + 03 COLUMN 15 PIC X(11) + VALUE "Total sales". + 03 COLUMN 46 PIC X VALUE "=". + 03 COLUMN 48 PIC $$,$$$,$$$.99 SUM TotalStateSales. + + +01 TYPE IS PAGE FOOTING. + 02 LINE IS 58. + 03 COLUMN 1 PIC X(29) VALUE "Programmer - Michael Coughlan". + 03 COLUMN 55 PIC X(6) VALUE "Page :". + 03 COLUMN 62 PIC ZZ9 SOURCE PAGE-COUNTER. + + +PROCEDURE DIVISION. +DECLARATIVES. +Calc SECTION. + USE BEFORE REPORTING SalesAgentGrp. +Calculate-Salary. + MULTIPLY TotalAgentSales BY Percentage + GIVING SalesCommission ROUNDED + ADD SalesCommission, BaseSalary(StateNum) + GIVING FullSalary. +END DECLARATIVES. + +*Main SECTION. +Begin. + OPEN INPUT SalesFile + OPEN OUTPUT PrintFile + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ + INITIATE SolaceSalesReport + PERFORM PrintSalaryReport + UNTIL EndOfFile + TERMINATE SolaceSalesReport + CLOSE SalesFile, PrintFile + STOP RUN. + + +PrintSalaryReport. + GENERATE DetailLine + READ SalesFile + AT END SET EndOfFile TO TRUE + END-READ + MOVE StateNum TO ActualStateNum. diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-BF.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-BF.DAT new file mode 100644 index 0000000..f4b5dfe Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-BF.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PF.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PF.DAT new file mode 100644 index 0000000..4169fbd Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PF.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PRF.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PRF.DAT new file mode 100644 index 0000000..cedda53 Binary files /dev/null and b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-PRF.DAT differ diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-Sales.DAT b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-Sales.DAT new file mode 100644 index 0000000..f75860e --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4-Sales.DAT @@ -0,0 +1,489 @@ +010380932514 +010381183919 +010381910261 +010730450371 +010731165987 +010731954019 +020551898184 +020550306597 +020551068692 +020891118772 +020891414582 +021041800542 +021041761420 +030230423772 +030231331500 +030900207893 +030901722888 +030900892996 +040831386216 +040911639899 +041091262693 +041091289102 +041091955625 +050130490534 +050131588815 +050130468961 +050361931495 +050361719488 +050360218200 +051120990238 +060251530055 +060251554134 +060341534992 +060340377363 +060520427458 +060521196993 +060521569940 +060520590897 +060520722978 +060520965584 +060814238751 +060810523220 +060810642746 +061070969326 +061070983366 +070271120997 +070271194783 +070270326121 +070271758175 +070331852017 +070330704882 +070331838685 +070331630400 +070370686177 +070370646249 +070371112822 +070370832107 +071131908989 +071131037414 +080290590018 +080291725911 +080290549008 +080290630480 +080291326422 +080701059731 +080701729032 +080701225866 +080700763024 +090281886992 +090280268985 +090281007423 +090881984506 +090881293706 +090881026177 +090881030038 +090881202118 +090880781425 +091081494866 +091081468134 +100201877100 +100200744348 +100201549660 +100460490945 +100461056427 +100571399377 +100570857623 +100571588600 +100631845600 +100630426357 +100981976360 +110051134688 +110051233544 +110051155330 +110051169862 +110050603028 +111021831736 +111021843851 +111021328708 +111021006455 +111281541014 +111281186495 +111280565823 +111280425349 +111280441462 +120480504894 +120485281369 +120511900114 +120510812968 +120511943909 +120511784700 +120541327172 +120541774010 +120540415564 +120540877103 +120540635109 +120654233377 +120651225464 +120690772849 +120690349436 +120690560373 +120691873582 +120691168315 +120691438742 +120691446038 +121201329772 +121201292627 +130801039165 +130800703472 +130801816473 +130821877506 +130821723458 +130820341177 +130820898637 +130921670190 +130921417598 +131181274678 +131181481815 +131181106817 +131180910083 +131180818902 +131291713462 +131291887819 +131291673182 +131291452198 +131440361478 +131441727639 +131441534220 +140091600464 +140091901715 +140090650851 +140090633591 +140601227707 +140600723977 +140600851046 +140600231142 +140601074641 +141421000490 +141421129656 +150451666988 +150450234144 +150450804049 +150450459243 +151381436150 +151381369159 +151501691271 +151500587534 +160581985210 +160581134905 +160581589985 +160581927880 +170400722809 +170401706436 +170400591664 +170400479543 +170931079782 +170940735112 +170941428986 +171170288031 +171171208035 +171170653671 +171360730704 +171360800444 +171361384755 +171360551108 +180590487604 +180591312043 +180591526409 +180590603424 +190641738400 +190640774192 +190640772952 +190641869835 +190641588116 +190640450682 +190641574027 +190641216464 +190641050287 +190641122558 +190640850760 +191261600612 +191261493962 +191260760074 +191261242616 +191260219428 +191261251218 +191491422698 +191491251564 +191491250563 +191490236645 +200061901231 +200060831182 +200060810730 +200060553389 +200060466530 +200061498524 +200061941481 +200221984582 +200220408942 +201231465735 +201231029803 +210191033043 +210191456181 +210191293071 +210190352392 +211390960222 +211391019598 +211390775022 +211390425984 +211391715156 +220081103721 +220081823740 +220080945854 +220491193291 +220491563134 +220491898006 +220491012115 +220491711747 +220491259336 +220490580871 +221211805723 +221211239082 +221210472631 +221251683740 +221370881324 +221370960653 +221370746515 +221370551449 +230171251322 +230171404198 +230171869615 +230170274081 +230171873063 +230171500549 +230171402753 +230710893738 +230721494688 +230720823739 +230721044573 +230721755251 +230781881456 +230781671290 +230780410312 +230780671011 +230780544701 +230780851650 +230781296978 +230780842351 +230780776141 +230780365692 +240100727106 +240100432122 +240101492086 +240101056876 +240740631137 +240740994495 +240740426973 +240741437546 +240741043090 +240741529250 +240741156021 +240740985456 +241001997462 +241000372493 +241001634828 +241001926712 +241000983434 +241451487635 +241450511729 +241451297372 +241450299678 +241451046609 +241481131512 +241481677061 +241480318212 +241481473421 +241481948753 +241481285476 +241481629153 +241481475520 +250041487059 +250041855742 +250041459994 +251190722023 +251190220396 +251191714982 +251191396635 +251190308653 +251190783325 +251301711452 +251301944589 +251301085650 +251300468724 +260141753583 +260140656198 +260140930381 +260141002073 +260141217773 +260141635036 +260150408351 +260151796016 +260181191578 +260180276491 +260561796514 +270031757525 +270030922885 +270031070732 +270351127107 +270351491931 +270350264244 +270351655225 +270350999794 +270351960276 +271061201317 +271060819041 +271061671604 +271061044910 +271061115870 +271060582872 +280390843304 +280391879911 +280390791822 +280670780421 +280671884896 +280670499650 +280670340738 +280670641334 +281161852027 +281160584945 +281161944256 +281161747676 +291140314175 +291141252402 +291141317685 +291141209221 +291140949576 +291411882921 +291410867798 +291411415838 +291411728436 +300020618290 +300750658194 +300750979185 +300750857467 +300750301677 +300751065530 +301430735483 +301430366276 +301431442834 +310071658590 +310470601829 +330011070142 +330011039969 +330011782172 +330011704417 +330011653372 +330011203472 +330011690957 +330011168986 +330011623519 +330010983157 +330850581673 +330850457738 +330851833766 +330850744782 +331240949489 +331240927435 +331241966677 +340210820971 +350311451265 +351050447883 +351050587675 +351050269966 +351050688697 +351050855297 +351051471317 +351051804985 +351471279180 +351471360008 +351471482781 +361151297448 +361150947837 +370260483706 +370260293651 +370260341525 +370261583052 +370261452408 +370260399643 +370260833539 +370261967932 +370260892125 +370621044312 +370620517882 +370621223888 +370620960618 +371011000195 +371011356047 +371330218648 +371330344954 +371331849219 +371330998510 +371331770820 +371331275591 +371341344877 +371341598993 +371341334118 +390420950495 +390430987443 +390431909952 +390431509883 +390430312814 +390531247658 +390531484852 +390531370226 +390531492296 +390990419928 +390991345747 +400110472316 +400110747450 +400111187194 +400441472645 +400441708078 +400441497952 +410950530200 +410951196314 +410951570625 +410951286960 +430791105045 +430790657964 +430790378487 +430791498663 +430791703100 +440860978483 +440861850128 +440861063081 +440961809367 +440971748096 +440970528774 +441350249229 +451220581367 +470121612782 +470121980504 +470121192587 +470321407944 +470321400069 +470320601699 +470320570694 +470321630971 +471101550510 +471101512273 +471100405236 +471100481834 +481461842511 +481461190618 +481460506585 +481461745219 +481461911259 +481461255666 +491031968780 +491031613526 +491031280295 +491030204143 +491033342728 +500870738662 +500870409021 +500871927272 +500871814340 +501320290417 +501325319783 +501320578787 \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4.cbl b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4.cbl new file mode 100644 index 0000000..a14c364 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch18/Listing18-4.cbl @@ -0,0 +1,198 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing18-4. +AUTHOR. MICHAEL COUGHLAN. +*The Campus Bookshop Purchase Requirements Report (DP291-91-EXAM) +*Originally written for VAX COBOL 1991 +*Converted to Microfocus COBOL 2002 +*Modified for COBOL book 2014 + + +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT PurchaseReqFile ASSIGN TO "Listing18-4-PRF.DAT" + ORGANIZATION IS INDEXED + FILE STATUS IS FileStatus-PRF + ACCESS MODE IS DYNAMIC + RECORD KEY IS PRNumber-PRF + ALTERNATE RECORD KEY IS LecturerName-PRF + WITH DUPLICATES + ALTERNATE RECORD KEY IS BookNum-PRF + WITH DUPLICATES. + + SELECT BookFile ASSIGN TO "Listing18-4-BF.DAT" + ORGANIZATION IS INDEXED + FILE STATUS IS FileStatus-BF + ACCESS MODE IS DYNAMIC + RECORD KEY IS BookNum-BF + ALTERNATE RECORD KEY IS PublisherNum-BF + WITH DUPLICATES. + + SELECT PublisherFile ASSIGN TO "Listing18-4-PF.DAT" + ORGANIZATION IS INDEXED + FILE STATUS IS FileStatus-PF + ACCESS MODE IS DYNAMIC + RECORD KEY IS PublisherNum-PF + ALTERNATE RECORD KEY IS PublisherName-PF. + + SELECT ReportFile ASSIGN TO "Listing18-4.RPT". + +DATA DIVISION. +FILE SECTION. +FD PurchaseReqFile. +01 PurchaseRec-PRF. + 88 EndOfPRequirements VALUE HIGH-VALUES. + 88 NotEndOfPRequirements VALUE LOW-VALUES. + 02 PRNumber-PRF PIC 9(4). + 02 LecturerName-PRF PIC X(20). + 02 BookNum-PRF PIC 9(4). + 02 ModuleCode-PRF PIC X(5). + 02 CopiesRequired-PRF PIC 9(3). + 02 Semester-PRF PIC 9. + +FD BookFile. +01 BookRec-BF. + 88 EndOfBooks VALUE HIGH-VALUES. + 88 NotEndOfBooks VALUE LOW-VALUES. + 02 BookNum-BF PIC 9(4). + 02 PublisherNum-BF PIC 9(4). + 02 BookTitle-BF PIC X(30). + + +FD PublisherFile. +01 PublisherRec-PF. + 88 EndOfPublishers VALUE HIGH-VALUES. + 02 PublisherNum-PF PIC 9(4). + 02 PublisherName-PF PIC X(20). + 02 PublisherAddress-PF PIC X(40). + +FD ReportFile + REPORT IS PurchaseRequirementsReport. + +WORKING-STORAGE SECTION. +01 File-Stati. + 02 FileStatus-PRF PIC X(2). + 88 PurchaseRec-PRF-Not-Found VALUE "23". + 02 FileStatus-BF PIC X(2). + 88 BookRec-Not-Found VALUE "23". + 02 FileStatus-PF PIC X(2). + + +01 Current-Semester PIC 9. + + + +REPORT SECTION. +RD PurchaseRequirementsReport + CONTROLS ARE FINAL + PublisherName-PF + PAGE LIMIT IS 66 + HEADING 2 + FIRST DETAIL 8 + LAST DETAIL 50 + FOOTING 55. + + +01 TYPE IS REPORT FOOTING. + 02 LINE 56. + 03 COLUMN 29 PIC X(23) + VALUE "*** END OF REPORT ***". + +01 TYPE IS PAGE HEADING. + 02 LINE 2. + 03 COLUMN 27 PIC X(30) + VALUE "PURCHASE REQUIREMENTS REPORT". + 03 COLUMN 77 PIC X(6) + VALUE "PAGE :". + 03 COLUMN 84 PIC Z9 SOURCE PAGE-COUNTER. + + 02 LINE 3. + 03 COLUMN 26 PIC X(32) VALUE ALL "-". + + 02 LINE 6. + 03 COLUMN 2 PIC X(24) VALUE "PUBLISHER NAME". + 03 COLUMN 33 PIC X(11) VALUE "BOOK TITLE". + 03 COLUMN 57 PIC X(3) VALUE "QTY". + 03 COLUMN 65 PIC X(14) VALUE "LECTURER NAME". + + +01 PReq-PrintLine TYPE IS DETAIL. + 02 LINE IS PLUS 2. + 03 COLUMN 1 PIC X(20) SOURCE PublisherName-PF + GROUP INDICATE. + 03 COLUMN 24 PIC X(30) SOURCE BookTitle-BF. + 03 COLUMN 57 PIC ZZ9 SOURCE CopiesRequired-PRF. + 03 COLUMN 63 PIC X(20) SOURCE LecturerName-PRF. + +PROCEDURE DIVISION. +BEGIN. + DISPLAY "Enter the semester number (1 or 2) - " WITH NO ADVANCING + ACCEPT Current-Semester + OPEN INPUT PurchaseReqFile + OPEN INPUT BookFile + OPEN INPUT PublisherFile + OPEN OUTPUT ReportFile + INITIATE PurchaseRequirementsReport + + MOVE SPACES TO PublisherName-PF + START PublisherFile + KEY IS GREATER THAN PublisherName-PF + INVALID KEY DISPLAY "START Pub file status" FileStatus-PF + END-START + READ PublisherFile NEXT RECORD + AT END SET EndOfPublishers TO TRUE + END-READ + PERFORM PrintRequirementsReport UNTIL EndOfPublishers + + TERMINATE PurchaseRequirementsReport + CLOSE PurchaseReqFile, BookFile, + PublisherFile, ReportFile + STOP RUN. + +PrintRequirementsReport. + SET NotEndOfBooks TO TRUE + MOVE PublisherNum-PF TO PublisherNum-BF + READ BookFile + KEY IS PublisherNum-BF + INVALID KEY + DISPLAY SPACES + DISPLAY "Book File Error. FileStatus = " FileStatus-BF + DISPLAY "Publisher Number - " PublisherNum-BF + DISPLAY "Publisher Rec = " PublisherRec-PF + MOVE ZEROS TO PublisherNum-BF + END-READ + + PERFORM ProcessPublisher + UNTIL PublisherNum-PF NOT EQUAL TO PublisherNum-BF + OR EndOfBooks + + READ PublisherFile NEXT RECORD + AT END SET EndOfPublishers TO TRUE + END-READ. + +ProcessPublisher. + SET NotEndOfPRequirements TO TRUE + MOVE BookNum-BF TO BookNum-PRF + READ PurchaseReqFile + KEY IS BookNum-PRF + INVALID KEY + DISPLAY SPACES + DISPLAY "PurchReqFile Error. FileStatus = " FileStatus-PRF + DISPLAY "Book Num PRF = " BookNum-PRF + DISPLAY "Book Rec = " BookRec-BF + MOVE ZEROS TO BookNum-PRF + END-READ + + PERFORM UNTIL BookNum-BF NOT EQUAL TO BookNum-PRF + OR EndOfPRequirements + IF Current-Semester = Semester-PRF THEN + Generate PReq-PrintLine + END-IF + READ PurchaseReqFile NEXT RECORD + AT END SET EndOfPRequirements TO TRUE + END-READ + END-PERFORM + + READ BookFile NEXT RECORD + AT END SET EndOfBooks TO TRUE + END-READ. diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing-19-3-drv.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing-19-3-drv.cbl new file mode 100644 index 0000000..ee98abb --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing-19-3-drv.cbl @@ -0,0 +1,63 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. UseZodiac. +AUTHOR. Michael Coughlan. + +CLASS-CONTROL. + ZodiacFactory IS CLASS "zodiac". + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 MyZodiac USAGE OBJECT REFERENCE. + +01 Date-DDMM PIC X(4). + 88 EndOfData VALUE SPACES. + +01 SignCode PIC 99. + +01 OpStatus1 PIC 9. + 88 CuspSign VALUE 1. + +01 OpStatus2 PIC 9. + 88 OperationOK VALUE ZEROS. + +01 SignName PIC X(11). + +01 SignElement PIC X(5). + +PROCEDURE DIVISION. +Begin. + INVOKE ZodiacFactory "new" RETURNING MyZodiac + DISPLAY "Enter the Date DDMM :- " WITH NO ADVANCING + ACCEPT Date-DDMM + + PERFORM GetAndDisplay UNTIL EndOfdata + INVOKE ZodiacFactory "finalize" RETURNING MyZodiac + DISPLAY "Enter the Date DDMM :- " WITH NO ADVANCING + ACCEPT Date-DDMM + STOP RUN. + +GetAndDisplay. + INVOKE MyZodiac "getSignHouse" USING BY CONTENT Date-DDMM + BY REFERENCE SignCode + RETURNING OpStatus1 + + INVOKE MyZodiac "getSignName" USING BY CONTENT SignCode + BY REFERENCE SignName + RETURNING OpStatus2 + + INVOKE MyZodiac "getSignElement" USING BY CONTENT SignCode + BY REFERENCE SignElement + RETURNING OpStatus2 + + DISPLAY "SignCode = " SignCode + DISPLAY "Sign name is " SignName + DISPLAY "Sign Element is " SignElement + IF CuspSign + DISPLAY "The sign is a cusp" + END-IF + DISPLAY "Enter the Date DDMM :- " WITH NO ADVANCING + ACCEPT Date-DDMM. + + + + diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1-cls.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1-cls.cbl new file mode 100644 index 0000000..40c28a2 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1-cls.cbl @@ -0,0 +1,92 @@ +CLASS-ID. DictionaryCls AS "dictionary" + INHERITS FROM Base. +AUTHOR. Michael Coughlan. + +REPOSITORY. + CLASS Base AS "base" + CLASS DictionaryCls AS "dictionary". + + +FACTORY. +METHOD-ID. New. +LINKAGE SECTION. +01 TestObject-lnk OBJECT REFERENCE. +01 DictionaryName PIC X(20). + +PROCEDURE DIVISION USING DictionaryName RETURNING TestObject-lnk. +Begin. +*Create a new dictionary object by invoke "new" in the base class + INVOKE SUPER "new" RETURNING TestObject-lnk. + +*Set the dictionary name in the dictionary object + INVOKE TestObject-lnk "SetDictionaryName" + USING BY CONTENT DictionaryName + EXIT METHOD. +END METHOD New. +END FACTORY. + + + + +OBJECT. +DATA DIVISION. +WORKING-STORAGE SECTION. +*Items declared here are visible only to methods of this +*instance. They have state memory. +01 DictionaryTable. + 02 DictionaryEntry OCCURS 0 TO 1000 TIMES + DEPENDING ON NumberOfWords + INDEXED BY WordIdx. + 03 DictionaryWord PIC X(20). + 03 WordDefinition PIC X(1000). + +01 NumberOfWords PIC 9(4) VALUE ZERO. + +01 DictionaryName PIC X(20). + + + +METHOD-ID. SetDictionaryName. +LINKAGE SECTION. +01 DictionaryNameIn PIC X(20). +PROCEDURE DIVISION USING DictionaryNameIn. +Begin. + MOVE DictionaryNameIn TO DictionaryName +END METHOD SetDictionaryName. + + + +METHOD-ID. AddWordToDictionary. +LINKAGE SECTION. +01 WordIn PIC X(20). +01 DefinitionIn PIC X(1000). +PROCEDURE DIVISION USING WordIn, DefinitionIn. +Begin. + MOVE FUNCTION UPPER-CASE(WordIn) TO WordIn + SET WordIdx TO 1 + SEARCH DictionaryEntry + AT END ADD 1 TO NumberOfWords + MOVE WordIn TO DictionaryWord(NumberOfWords) + MOVE DefinitionIn TO WordDefinition(NumberOfWords) + WHEN WordIn = DictionaryWord(WordIdx) + DISPLAY WordIn " is already in the dictionary" + END-SEARCH + EXIT METHOD. +END METHOD AddWordToDictionary. + + +METHOD-ID. PrintDictionaryContents. +LOCAL-STORAGE SECTION. +PROCEDURE DIVISION. +Begin. + DISPLAY "Words in - " DictionaryName + PERFORM VARYING WordIdx FROM 1 BY 1 UNTIL WordIdx = NumberOfWords + DISPLAY "Word = " DictionaryWord(WordIdx) + END-PERFORM + DISPLAY "------ End of dictionary words --------" + EXIT METHOD. +END METHOD PrintDictionaryContents. +END OBJECT. +END CLASS DictionaryCls. + + \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1.cbl new file mode 100644 index 0000000..5bcc472 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-1.cbl @@ -0,0 +1,63 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing19-1. +AUTHOR. Michael Coughlan. +*UseDictionary program + +REPOSITORY. + CLASS DictionaryCls AS "dictionary". + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 AcronymDictionary USAGE OBJECT REFERENCE DictionaryCls. +01 NetworkDictionary USAGE OBJECT REFERENCE DictionaryCls. +01 SlangDictionary USAGE OBJECT REFERENCE DictionaryCls. +01 CurrentDictionary USAGE OBJECT REFERENCE. + +01 WordToAdd PIC X(20). + 88 EndOfInput VALUE SPACES. + +01 WordDefinition PIC X(1000). + +PROCEDURE DIVISION. +Begin. + INVOKE DictionaryCls "new" USING BY CONTENT "Acronym Dictionary" RETURNING AcronymDictionary + INVOKE DictionaryCls "new" USING BY CONTENT "Network Dictionary" RETURNING NetworkDictionary + INVOKE DictionaryCls "new" USING BY CONTENT "Slang Dictionary" RETURNING SlangDictionary + + SET CurrentDictionary TO AcronymDictionary + DISPLAY "Fill the Acronym dictionary" + PERFORM FillTheDictionary WITH TEST AFTER UNTIL EndOfInput + + SET CurrentDictionary TO NetworkDictionary + DISPLAY "Fill the Network dictionary" + PERFORM FillTheDictionary WITH TEST AFTER UNTIL EndOfInput + + SET CurrentDictionary TO SlangDictionary + DISPLAY "Fill the Slang dictionary" + PERFORM FillTheDictionary WITH TEST AFTER UNTIL EndOfInput + + DISPLAY SPACES + INVOKE AcronymDictionary "PrintDictionaryContents" + + DISPLAY SPACES + INVOKE NetworkDictionary "PrintDictionaryContents" + + DISPLAY SPACES + INVOKE SlangDictionary "PrintDictionaryContents" + + INVOKE AcronymDictionary "finalize" RETURNING AcronymDictionary + INVOKE NetworkDictionary "finalize" RETURNING NetworkDictionary + INVOKE SlangDictionary "finalize" RETURNING SlangDictionary + STOP RUN. + + +FillTheDictionary. + DISPLAY "Enter a word to add (press return to end) - " WITH NO ADVANCING + ACCEPT WordToAdd + + DISPLAY "Enter the word definition - " WITH NO ADVANCING + ACCEPT WordDefinition + + INVOKE CurrentDictionary "AddWordToDictionary" + USING BY CONTENT WordToAdd, WordDefinition. + diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2-cls.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2-cls.cbl new file mode 100644 index 0000000..7d1bd68 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2-cls.cbl @@ -0,0 +1,91 @@ + $SET ISO2002 + $SET DIALECT"ISO2002" + $SET SOURCEFORMAT"FREE" +CLASS-ID. Tester-cls AS "tester" + INHERITS FROM Base. +* AUTHOR. Michael Coughlan. +* Demonstrates the difference between Factory methods and data and Instance methods +* and data. Also demonstrates persistence of data items declared in different areas. + +REPOSITORY. + CLASS BASE AS "base" + CLASS Tester-cls AS "tester". + +FACTORY. +WORKING-STORAGE SECTION. +*Items declared here are visible only to factory methods and have state memory +01 InstCounter-fws PIC 9 VALUE ZEROS. +01 FactoryData-fws PIC 9 VALUE ZEROS. + +METHOD-ID. New. +LOCAL-STORAGE SECTION. +*Items declared here are visible only to this method but do not have state memory. +01 LocalData-mls PIC 9 VALUE ZEROS. + +LINKAGE SECTION. +01 TestObject-lnk OBJECT REFERENCE. + +PROCEDURE DIVISION RETURNING TestObject-lnk. +Begin. + ADD 2 TO FactoryData-fws LocalData-mls + DISPLAY "Factory Working-Storage data has state memory - " + FactoryData-fws + DISPLAY "but Factory Method Local-Storage data does not - " + LocalData-mls + DISPLAY SPACES + INVOKE SUPER "new" RETURNING TestObject-lnk + ADD 1 TO InstCounter-fws + INVOKE TestObject-lnk "InitialiseData" + USING BY CONTENT InstCounter-fws + EXIT METHOD. +END METHOD New. + +METHOD-ID. GetTotalInstCount. +LINKAGE SECTION. +01 TotalInstCount-lnk PIC 9. +PROCEDURE DIVISION RETURNING TotalInstCount-lnk. +Begin. + MOVE InstCounter-fws TO TotalInstCount-lnk. +END METHOD GetTotalInstCount. +END FACTORY. + + +OBJECT. +WORKING-STORAGE SECTION. +*Items declared here are visible only to methods of this +*instance. They are persist for the life of the object instance. +01 ThisInstanceNum-ows PIC 9 VALUE ZEROS. +01 InstObjectData-ows PIC 99 VALUE ZEROS. + +METHOD-ID. InitialiseData. +LINKAGE SECTION. +01 InstNumIn-lnk PIC 9. +PROCEDURE DIVISION USING InstNumIn-lnk. +Begin. + MOVE InstNumIn-lnk TO ThisInstanceNum-ows + EXIT METHOD. +END METHOD InitialiseData. + + +METHOD-ID. ViewData. +LOCAL-STORAGE SECTION. +*Items declared here only exist for the life of the method. +*They do not retain their values between invocations. +01 InstMethodData-mls PIC 99 VALUE ZEROS. +01 TotalInstCount-mls PIC 9 VALUE ZEROS. +01 Increment-mls PIC 99 VALUE ZEROS. + +PROCEDURE DIVISION. +Begin. + COMPUTE Increment-mls = 10 * ThisInstanceNum-ows + ADD Increment-mls TO InstObjectData-ows, InstMethodData-mls + INVOKE Tester-cls "GetTotalInstCount" + RETURNING TotalInstCount-mls + DISPLAY "This is instance " ThisInstanceNum-ows + " of " TotalInstCount-mls + DISPLAY "Instance Object Data = " InstObjectData-ows + DISPLAY "Instance Method Data = " InstMethodData-mls + EXIT METHOD. +END METHOD ViewData. +END OBJECT. +END CLASS Tester-cls. \ No newline at end of file diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2.cbl new file mode 100644 index 0000000..415e424 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-2.cbl @@ -0,0 +1,43 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing19-2. +* AUTHOR. Michael Coughlan. +* Demonstrates the difference between Factory methods & data +* and instance methods & data. +* It is also used to demonstrate the scope of +* data items declared in different parts of the program. + +REPOSITORY. + CLASS Tester-cls AS "tester". + +DATA DIVISION. +WORKING-STORAGE SECTION. +01 Test1-obj OBJECT REFERENCE Tester-cls. +01 Test2-obj OBJECT REFERENCE Tester-cls. +01 Test3-obj OBJECT REFERENCE Tester-cls. + +PROCEDURE DIVISION. +Begin. + INVOKE Tester-cls "new" RETURNING Test1-obj + INVOKE Tester-cls "new" RETURNING Test2-obj + INVOKE Tester-cls "new" RETURNING Test3-obj + + DISPLAY SPACES + DISPLAY "--------- Test3-obj ViewData -----------" + INVOKE Test3-obj "ViewData" + + DISPLAY SPACES + DISPLAY "--------- Test1-obj ViewData -----------" + INVOKE Test1-obj "ViewData" + + DISPLAY SPACES + DISPLAY "--------- Test3-obj ViewData again -----" + INVOKE Test3-obj "ViewData" + + DISPLAY SPACES + DISPLAY "--------- Test2-obj ViewData -----------" + INVOKE Test2-obj "ViewData" USING BY CONTENT 5 + + INVOKE Test1-obj "finalize" RETURNING Test1-obj + INVOKE Test2-obj "finalize" RETURNING Test2-obj + INVOKE Test3-obj "finalize" RETURNING Test3-obj + STOP RUN. diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-MPDOB.Dat b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-MPDOB.Dat new file mode 100644 index 0000000..63f13a9 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-MPDOB.Dat @@ -0,0 +1,10836 @@ +2201196722011967 +1802196718021967 +1902196719021967 +2102197821021978 +1903197819031978 +2103197819031978 +2203197922031979 +1904197920041979 +2004197920041979 +2204198022041980 +2005198020051980 +2105198021051980 +2305198123051981 +2006198120061981 +2106198121061981 +2306198223061982 +2207198222071982 +2307198223071982 +2507198325071983 +2208198322081983 +2308198323081983 +2508198425081984 +2209198422091984 +2309198423091984 +2509198525091985 +2210198522101985 +2310198523101985 +2510198625101986 +2111198621111986 +2211198622111986 +2411198724111987 +2012198720121987 +2112198721121987 +2312198823121988 +1901198819011988 +2001198820011988 +2201196719121968 +2301196913031970 +0102196512121966 +1902196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 +1210196719121968 +0509196913031970 +2801196512121966 +2512196814041964 +1411196820041973 +2310196730111963 +1804196906121970 +1603196427021965 +1509196307101968 +2406196703121969 +1102196903121969 +1709196722111964 +2111196309101967 +1411196826081968 +1804196728011969 +1009197014031969 +2304196503111967 +2512195612011960 diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-cls.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-cls.cbl new file mode 100644 index 0000000..210a812 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3-cls.cbl @@ -0,0 +1,126 @@ + $SET ISO2002 + $SET DIALECT"ISO2002" + $SET SOURCEFORMAT"FREE" +CLASS-ID. Zodiac AS "zodiac" INHERITS FROM Base. +* AUTHOR. Michael Coughlan. + +REPOSITORY. + CLASS BASE AS "base" + CLASS Zodiac AS "zodiac". + +* No FACTORY in this program + +OBJECT. +WORKING-STORAGE SECTION. +01 ZodiacTable. + 02 ZodiacTableData. + 03 FILLER PIC X(20) VALUE "Aries 103210419". + 03 FILLER PIC X(20) VALUE "Taurus 204200520". + 03 FILLER PIC X(20) VALUE "Gemini 305210620". + 03 FILLER PIC X(20) VALUE "Cancer 406210722". + 03 FILLER PIC X(20) VALUE "Leo 107230822". + 03 FILLER PIC X(20) VALUE "Virgo 208230922". + 03 FILLER PIC X(20) VALUE "Libra 309231022". + 03 FILLER PIC X(20) VALUE "Scorpio 410231121". + 03 FILLER PIC X(20) VALUE "Sagittarius111221221". + 03 FILLER PIC X(20) VALUE "Capricorn 212221231". + 03 FILLER PIC X(20) VALUE "Aquarius 301200218". + 03 FILLER PIC X(20) VALUE "Pisces 402190320". + 02 ZodiacSign REDEFINES ZodiacTableData + OCCURS 12 TIMES + INDEXED BY Zidx. + 03 SignName PIC X(11). + 03 SignElement PIC 9. + 03 StartDate PIC X(4). + 03 EndDate PIC X(4). + +01 ElementTable VALUE "Fire EarthAir Water". + 02 Element OCCURS 4 TIMES PIC X(5). + + +METHOD-ID. getSignHouse. +LOCAL-STORAGE SECTION. +01 WorkDate. + 88 SignIsCusp VALUE "0120", "0121", "0219", "0220", + "0320", "0321", "0420", "0421", + "0521", "0522", "0621", "0622", + "0723", "0724", "0823", "0824", + "0923", "0924", "1023", "1024", + "1122", "1123", "1221", "1222". + 02 WorkMonth PIC XX. + 02 WorkDay PIC XX. + +LINKAGE SECTION. +01 InDate. + 02 InDay PIC XX. + 02 InMonth PIC XX. + +01 House PIC 99. +01 OpStatus PIC 9. + 88 CuspSign VALUE 1. + 88 InvalidDate VALUE 2. + +PROCEDURE DIVISION USING InDate, House RETURNING OpStatus. + MOVE InDay TO WorkDay + MOVE InMonth TO WorkMonth + MOVE 0 TO OpStatus + SET Zidx TO 1 + SEARCH ZodiacSign + AT END IF WorkDate >= "0101" AND <= "0119" + MOVE 11 TO House + END-IF + WHEN WorkDate >= StartDate(Zidx) AND <= EndDate(Zidx) + SET House TO Zidx + END-SEARCH + IF SignIsCusp SET CuspSign TO TRUE + END-IF + + EXIT METHOD. +END METHOD getSignHouse. + + +METHOD-ID. getSignName. +LINKAGE SECTION. +01 House PIC 99. + 88 ValidSignHouse VALUE 01 THRU 12. +01 OutSignName PIC X(11). + +01 OpStatus PIC 9. + 88 InvalidSignHouse VALUE 1. + 88 OperationOk VALUE 0. + +PROCEDURE DIVISION USING House, OutSignName RETURNING OpStatus. + IF NOT ValidSignHouse + SET InvalidSignHouse TO TRUE + ELSE + MOVE SignName(House) TO OutSignName + SET OperationOk TO TRUE + END-IF + EXIT METHOD. +END METHOD getSignName. + + +METHOD-ID. getSignElement. +LINKAGE SECTION. +01 House PIC 99. + 88 ValidSignHouse VALUE 01 THRU 12. + +01 OutSignElement PIC X(5). + +01 OpStatus PIC 9. + 88 InvalidSignHouse VALUE 1. + 88 OperationOk VALUE 0. + +PROCEDURE DIVISION USING House, OutSignElement RETURNING OpStatus. + IF NOT ValidSignHouse + SET InvalidSignHouse TO TRUE + ELSE + MOVE Element(SignElement(House)) TO OutSignElement + SET OperationOk TO TRUE + END-IF + EXIT METHOD. +END METHOD getSignElement. +END OBJECT. +END CLASS Zodiac. + + diff --git a/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3.cbl b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3.cbl new file mode 100644 index 0000000..d949f12 --- /dev/null +++ b/978-1-4302-6253-4_Coughlan_Ch19/Listing19-3.cbl @@ -0,0 +1,108 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. Listing19-3. +* Zodiac Compatibility program +ENVIRONMENT DIVISION. +INPUT-OUTPUT SECTION. +FILE-CONTROL. + SELECT BirthsFile ASSIGN TO "Listing19-3-MPDOB.DAT" + ORGANIZATION IS LINE SEQUENTIAL. + +CLASS-CONTROL. + ZodiacFactory IS CLASS "zodiac". + +DATA DIVISION. +FILE SECTION. +FD BirthsFile. +01 BirthsRec. + 88 EndOfFile VALUE HIGH-VALUES. + 02 MaleDOB. + 03 MaleDate PIC X(4). + 03 FILLER PIC X(4). + 02 FemaleDOB. + 03 FemaleDate PIC X(4). + 03 FILLER PIC X(4). + + +WORKING-STORAGE SECTION. +01 MyZodiac USAGE OBJECT REFERENCE. + +01 Counts. + 02 CompatiblePairs PIC 9(7) VALUE ZEROS. + 02 CompatiblePrn PIC ZZZZ,ZZ9. + 02 CompatiblePercent PIC ZZ9. + 02 IncompatiblePairs PIC 9(7) VALUE ZEROS. + 02 IncompatiblePrn PIC ZZZZ,ZZ9. + 02 IncompatiblePercent PIC ZZ9. + 02 ValidRecs PIC 9(8) VALUE ZEROS. + 02 ValidRecsPrn PIC ZZ,ZZZ,ZZ9. + 02 TotalRecs PIC 9(9) VALUE ZEROS. + 02 TotalRecsPrn PIC ZZ,ZZZ,ZZ9. + +01 MaleSign PIC 99. +01 FemaleSign PIC 99. +01 SumOfSigns PIC 99. + +01 OpStatusM PIC 9. + 88 ValidMale VALUE ZEROS. + +01 OpStatusF PIC 9. + 88 ValidFemale VALUE ZEROS. + + +PROCEDURE DIVISION. +Begin. + INVOKE ZodiacFactory "new" RETURNING MyZodiac + OPEN INPUT BirthsFile. + READ BirthsFile + AT END SET EndOfFile TO TRUE + END-READ + PERFORM ProcessBirthRecs UNTIL EndOfFile + + COMPUTE ValidRecs = CompatiblePairs + IncompatiblePairs + COMPUTE CompatiblePercent ROUNDED = CompatiblePairs / ValidRecs * 100 + COMPUTE InCompatiblePercent ROUNDED = InCompatiblePairs / ValidRecs * 100 + + PERFORM DisplayResults + + CLOSE BirthsFile. + STOP RUN. + +DisplayResults. + MOVE CompatiblePairs TO CompatiblePrn + MOVE IncompatiblePairs TO IncompatiblePrn + MOVE TotalRecs TO TotalRecsPrn + MOVE ValidRecs TO ValidRecsPrn + + DISPLAY "Total records = " TotalRecsPrn + DISPLAY "Valid records = " ValidRecsPrn + DISPLAY "Compatible pairs = " CompatiblePrn + " which is " CompatiblePercent "% of total". + DISPLAY "Incompatible pairs = " IncompatiblePrn + " which is " InCompatiblePercent "% of total". + +ProcessBirthRecs. +* Get the two sign types and add them together +* If the result is even then they are compatible + ADD 1 TO TotalRecs + INVOKE MyZodiac "getSignHouse" USING BY CONTENT MaleDate + BY REFERENCE MaleSign + RETURNING OpStatusM + + INVOKE MyZodiac "getSignHouse" USING BY CONTENT FemaleDate + BY REFERENCE FemaleSign + RETURNING OpStatusF + + IF ValidMale AND ValidFemale + COMPUTE SumOfSigns = MaleSign + FemaleSign + IF FUNCTION REM(SumOfSigns 2) = ZERO + ADD 1 TO CompatiblePairs + ELSE + ADD 1 TO IncompatiblePairs + END-IF + END-IF + READ BirthsFile + AT END SET EndOfFile TO TRUE + END-READ. + + +