LABEL 0000000000XXXXXX0010000001 BEGIN SMR 1 COMMENT STEPWISE MULTIPLE REGRESSION SMR 2 CHARLES L. CLARK SMR 3 PROFESSIONAL SERVICES DIVISIONAL GROUP SMR 4 BURROUGHS CORPORATION SMR 5 PROGRAM CONTAINS 405 CARDS SMR 6 FIRST RELEASE DATE AUGUST 25, 1964 ; SMR 7 INTEGER I,NOVA,NSAM,NAD ; SMR 8 INTEGER ARRAY ID[0:4] ; SMR 9 BOOLEAN WT,STAP,SSQ,MEAN,RESD,COEF,PRED,CNST,TR ; SMR 10 REAL TOL,FIN,FOUT,CONS ; SMR 11 LABEL START,NOMO,LL1 ; SMR 12 FORMAT IN FORM1 (5A6,3F10.5,2I5,2L5/7L5,I2), SMR 13 FORM2 (12I6), SMR 14 FORM3 (26I3), SMR 15 FORM4 (12F6.1) ; SMR 16 FORMAT OUT TITLE(X41,"STEPWISE MULTIPLE REGRESSION ANALYSIS"///), SMR 17 FRM2 (X45,5A6//X1,"NO. OF DATA =",I5/ SMR 18 X1,"NO. OF VARIABLES =",I5/ SMR 19 X1,"WEIGHTED DEGREES OF FREEDOM =",F12.2/ SMR 20 X1,"F LEVEL TO ENTER VARIABLE =",F10.3/ SMR 21 X1,"F LEVEL TO REMOVE VARIABLE =",F9.3//), SMR 22 FRM3 (//X1,"SUM OF VARIABLES"// SMR 23 (X6,"SUM X(",I2,") =",F12.4)), SMR 24 FRM4 (X6,"SUM Y =",F12.4///X1,"SUM OF SQUARES AND ", SMR 25 "CROSS PRODUCTS"//), SMR 26 FRM5 (X6,"X(",I2,") VS X(",I2,") =",F15.6), SMR 27 FRM6 (X6,"X(",I2,") VS Y =",F15.6), SMR 28 FRM7 (X6," Y VS Y =",F15.6), SMR 29 FRM8 (//X1,"MEAN VALUE OF VARIABLES"// SMR 30 (X5,"MEAN X(",I2,") =",F12.4)), SMR 31 FRM9 (X5,"MEAN Y =",F12.4//), SMR 32 FRM10(X1,"RESIDUAL SUMS OF SQUARES AND CROSS PRODUCTS"/), SMR 33 FRM11(X1,"VARIABLE",I4," IS CONSTANT"/), SMR 34 FRM12(//X1,"CORRELATION COEFFICIENTS"/), SMR 35 FRM13(//X1,"SQUARE NON-POSITIVE,END STEP",I4/), SMR 36 FRM14(//X1,"NO MORE DEGREES OF FREEDOM, STEP ",I4/), SMR 37 FRM15(//X1,"SQUARE OF X",I4," IS NEGATIVE, END OF STEP ", SMR 38 I4/), SMR 39 FRM16(//X1,"STANDARD ERROR 6F Y = ",F12.6/), SMR 40 FRM17(//"STEP NO.",I4/X1,"VARIABLE REMOVED",I5), SMR 41 FRM18(//"STEP NO.",I4/X1,"VARIABLE ENTERING",I5), SMR 42 FRM19(X1,"F LEVEL ",F12.4/X1,"STANDARD ERROR OF ESTIMATE",SMR 43 X1,F12.4/X1,"CONSTANT ",F13.5/X1,"VARIABLE",X3, SMR 44 "COEFFICIENT",X3,"STD ERROR OF COEF"// SMR 45 ((X3,"X",I3,X5,F10.5,X5,F10.5)/)), SMR 46 FRM20(//"STEPS OF REGRESSIO5 COMPLETED",I5/), SMR 47 FRM21(//"DIAGONAL ELEMENTS OF INVERSE OF CORRELATION ", SMR 48 "MATRIX"//X4,"VAR. NO."X5,"VALUE"//(I7,F16.6)/), SMR 49 FRM22(///X19,"PREDICTED VS ACTUAL VALUES"/X10,"RUN NO.", SMR 50 X4,"ACTUAL",X7,"PREDICTED",X5,"DEVIATION"/), SMR 51 FRM23(X8,I6,X2,F12.5,X3,F12.5,X2,F12.5) ; SMR 52 FILE IN CARDR(1,10) ; SMR 53 FILE OUT PRINT 1 (1,15) ; SMR 54 START: BEGIN SMR 55 LIST HEAD(FOR I ~ 0 STEP 1 UNTIL 4 DO ID[I],TOL,FIN,FOUT,NOVA, SMR 56 NSAM,WT,STAP,SSQ,MEAN,RESD,COEF,PRED,CNST,TR,NAD) ; SMR 57 READ (CARDR,FORM1,HEAD) [NOMO] ; SMR 58 WRITE(PRINT[PAGE]) ; SMR 59 WRITE(PRINT,TITLE) SMR 60 END ; SMR 61 LL1: BEGIN SMR 62 INTEGER NIN,K,NENT,NMIN,NMAX,NVP1,MARY,NEWV,NVA1 ; SMR 63 REAL VAR,FLEV ; SMR 64 LABEL LL2 ; SMR 65 K ~ 0 ; SMR 66 NENT ~ 0 ; SMR 67 NMIN ~ 0 ; SMR 68 NMAX ~ 0 ; SMR 69 NVA1 ~ NOVA + 1 ; SMR 70 NVP1 ~ NOVA + 1 + NAD ; SMR 71 MARY ~ NOVA + 1 + ABS(NAD) ; SMR 72 NEWV ~ NOVA + NAD ; SMR 73 LL2: BEGIN SMR 74 INTEGER N,J,L,VMI,VPL,NSTEP,IP1,VM2,STM1 ; SMR 75 BOOLEAN SWICH ; SMR 76 INTEGER ARRAY T[0:99],SC[0:NVA1],INDX[0:NVP1] ; SMR 77 REAL W,DF,SIGY,VMIN,VMAX,YPRE,DEV ; SMR 78 REAL ARRAY VEC[0:NVP1,0:NVP1],DATA[0:MARY],X[0:MARY],AVE[0:NVP1], SMR 79 SIG[0:NVP1],COEN[0:NVP1],SIGC[0:NVP1] ; SMR 80 LABEL LL6,LL8,LL9,LL10,LL11,LL12,LL13,LL14,LL15,LL16,NAXT, SMR 81 L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15 ; SMR 82 LIST SCAL(FOR I ~ 1 STEP 1 UNTIL NVA1 DO SC[I]), SMR 83 OUTT(FOR I ~ 0 STEP 1 UNTIL 4 DO ID[I],NSAM,NOVA, SMR 84 VEC[VPL,VPL],FIN,FOUT), SMR 85 TRAN(FOR J ~ 1 STEP 1 UNTIL NEWV DO T[J]), SMR 86 DATR(FOR L ~ 1 STEP 1 UNTIL NOVA DO DATA[L]), SMR 87 DATE(FOR L ~ 1 STEP 1 UNTIL NOVA DO DATA[L],W), SMR 88 SUMX(FOR I ~ 1 STEP 1 UNTIL VMI DO [I,VEC[I,VPL]]), SMR 89 SSQX(FOR J ~ I STEP 1 UNTIL VMI DO [I,J,VEC[I,J]]), SMR 90 SSYX(FOR I ~ 1 STEP 1 UNTIL VMI DO [I,VEC[I,NOVA]]), SMR 91 AVEX(FOR I ~ 1 STEP 1 UNTIL VMI DO [I,AVE[I]]), SMR 92 CORR(FOR J ~ IP1 STEP 1 UNTIL VMI DO [I,J,VEC[I,J]]), SMR 93 KOEF(FLEV,SIGY,CONS,FOR J ~ 1 STEP 1 UNTIL NIN DO SMR 94 [INDX[J],COEN[J],SIGC[J]]), SMR 95 DIAG(FOR L ~ 1 STEP 1 UNTIL VMI DO [L,VEC[L,L]]) ; SMR 96 SWITCH U ~ L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15 ; SMR 97 FILE TAPEB (2,NEWV+1) ; SMR 98 FOR I ~ 1 STEP 1 UNTIL NVP1 DO SMR 99 FOR J ~ 1 STEP 1 UNTIL NVP1 DO SMR 100 VEC[I,J] ~ 0.0 ; SMR 101 READ (CARDR,FORM2,SCAL) ; SMR 102 IF TR THEN SMR 103 READ (CARDR,FORM3,TRAN) ; SMR 104 FOR N ~ 1 STEP 1 UNTIL NSAM DO SMR 105 BEGIN SMR 106 IF WT THEN SMR 107 READ (CARDR,FORM4,DATE) SMR 108 ELSE SMR 109 READ (CARDR,FORM4,DATR) ; SMR 110 FOR J ~ 1 STEP 1 UNTIL NOVA DO SMR 111 BEGIN SMR 112 X[J] ~ DATA[J]|10.0*SC[J] ; SMR 113 DATA[J] ~ X[J] SMR 114 END ; SMR 115 COMMENT TRANSFORMATIONS ; SMR 116 IF TR THEN SMR 117 BEGIN SMR 118 FOR J ~ NEWV STEP -1 UNTIL 1 DO SMR 119 BEGIN SMR 120 GO TO U[T[J]] ; SMR 121 L1: DATA[J] ~ X[J] ; SMR 122 GO TO NAXT ; SMR 123 L2: DATA[J] ~ X[J]|X[J] ; SMR 124 GO TO NAXT ; SMR 125 L3: DATA[J] ~ 1 / X[J] ; SMR 126 GO TO NAXT ; SMR 127 L4: DATA[J] ~ SQRT(X[J]) ; SMR 128 GO TO NAXT ; SMR 129 L5: DATA[J] ~ EXP(X[J]) ; SMR 130 GO TO NAXT ; SMR 131 L6: DATA[J] ~ LN(X[J]) ; SMR 132 GO TO NAXT ; SMR 133 L7: DATA[J] ~ SIN(X[J]) ; SMR 134 GO TO NAXT ; SMR 135 L8: DATA[J] ~ COS(X[J]) ; SMR 136 GO TO NAXT ; SMR 137 L9: DATA[J] ~ X[J+1] ; SMR 138 GO TO NAXT ; SMR 139 L10: DATA[J] ~ X[J+2] ; SMR 140 GO TO NAXT ; SMR 141 L11: DATA[J] ~ X[J+3] ; SMR 142 GO TO NAXT ; SMR 143 L12: DATA[J] ~ X[J+4] ; SMR 144 GO TO NAXT ; SMR 145 L13: DATA[J] ~ X[J+5] ; SMR 146 GO TO NAXT ; SMR 147 L14: DATA[J] ~ X[J+6] ; SMR 148 GO TO NAXT ; SMR 149 L15: DATA[J] ~ X[J+7] ; SMR 150 GO TO NAXT ; SMR 151 NAXT: END SMR 152 END ; SMR 153 IF WT THEN SMR 154 W ~ W|10.0*SC[NVA1] ; SMR 155 WRITE(TAPEB,NEWV+1,DATA[*]) ; SMR 156 FOR I ~ 1 STEP 1 UNTIL NEWV DO SMR 157 BEGIN SMR 158 L ~ NEWV + 1 ; SMR 159 IF WT THEN SMR 160 DF ~ DATA[I]|W SMR 161 ELSE SMR 162 DF ~ DATA[I] ; SMR 163 VEC[I,L] ~ VEC[I,L] + DF ; SMR 164 FOR J ~ I STEP 1 UNTIL NEWV DO SMR 165 VEC[I,J] ~ VEC[I,J] + DF|DATA[J] SMR 166 END ; SMR 167 IF NOT WT THEN SMR 168 W ~ 1.0 ; SMR 169 VEC[NVP1,NVP1] ~ VEC[NVP1,NVP1] + W SMR 170 END ; SMR 171 NOVA ~ NEWV ; SMR 172 VMI ~ NOVA - 1 ; SMR 173 VPL ~ NOVA + 1 ; SMR 174 WRITE(PRINT,FRM2,OUTT) ; SMR 175 IF SSQ THEN SMR 176 BEGIN SMR 177 WRITE(PRINT,FRM3,SUMX) ; SMR 178 WRITE(PRINT,FRM4,VEC[NOVA,VPL]) ; SMR 179 FOR I ~ 1 STEP 1 UNTIL VMI DO SMR 180 WRITE(PRINT,FRM5,SSQX) ; SMR 181 WRITE(PRINT,FRM6,SSYX) ; SMR 182 WRITE(PRINT,FRM7,VEC[NOVA,NOVA]) SMR 183 END ; SMR 184 IF CNST THEN SMR 185 FOR I ~ 1 STEP 1 UNTIL NOVA DO SMR 186 FOR J ~ 1 STEP 1 UNTIL NOVA DO SMR 187 VEC[I,J] ~ VEC[I,J]-(VEC[I,VPL]|VEC[J,VPL]/VEC[VPL,VPL]) ;SMR 188 FOR I ~ 1 STEP 1 UNTIL NOVA DO SMR 189 AVE[I] ~ VEC[I,VPL] / VEC[VPL,VPL] ; SMR 190 IF MEAN THEN SMR 191 BEGIN SMR 192 WRITE(PRINT,FRM8,AVEX) ; SMR 193 WRITE(PRINT,FRM9,AVE[NOVA]) SMR 194 END ; SMR 195 IF RESD THEN SMR 196 BEGIN SMR 197 WRITE(PRINT,FRM10) ; SMR 198 FOR I ~ 1 STEP 1 UNTIL VMI DO SMR 199 WRITE(PRINT,FRM5,SSQX) ; SMR 200 WRITE(PRINT,FRM6,SSYX) ; SMR 201 WRITE(PRINT,FRM7,VEC[NOVA,NOVA]) SMR 202 END ; SMR 203 NSTEP ~ -1 ; SMR 204 SWICH ~ FALSE ; SMR 205 DF ~ VEC[VPL,VPL] - 1.0 ; SMR 206 FOR I ~ 1 STEP 1 UNTIL NOVA DO SMR 207 BEGIN SMR 208 IF VEC[I,I] = 0 THEN SMR 209 BEGIN SMR 210 WRITE(PRINT,FRM11,I) ; SMR 211 SIG[I] ~ 1.0 SMR 212 END SMR 213 ELSE SMR 214 SIG[I] ~ SQRT(VEC[I,I]) ; SMR 215 VEC[I,I] ~ 1.0 SMR 216 END ; SMR 217 FOR I ~ 1 STEP 1 UNTIL VMI DO SMR 218 BEGIN SMR 219 IP1 ~ I + 1 ; SMR 220 FOR J ~ IP1 STEP 1 UNTIL NOVA DO SMR 221 BEGIN SMR 222 VEC[I,J] ~ VEC[I,J] / (SIG[I]|SIG[J]) ; SMR 223 VEC[J,I] ~ VEC[I,J] SMR 224 END SMR 225 END ; SMR 226 IF COEF THEN SMR 227 BEGIN SMR 228 WRITE(PRINT,FRM12) ; SMR 229 VM2 ~ VMI - 1 ; SMR 230 FOR I ~ 1 STEP 1 UNTIL VM2 DO SMR 231 BEGIN SMR 232 IP1 ~ I + 1 ; SMR 233 WRITE(PRINT,FRM5,CORR) SMR 234 END ; SMR 235 WRITE(PRINT,FRM6,SSYX) SMR 236 END ; SMR 237 COMMENT COMPUTE NEXT REGRESSION EQUATION ; SMR 238 LL12: NSTEP ~ NSTEP + 1 ; SMR 239 IF VEC[NOVA,NOVA] { 0 THEN SMR 240 BEGIN SMR 241 STM1 ~ NSTEP - 1 ; SMR 242 WRITE(PRINT,FRM13,STM1) ; SMR 243 GO TO LL14 SMR 244 END ; SMR 245 SIGY ~ SIG[NOVA] | SQRT(VEC[NOVA,NOVA] / DF) ; SMR 246 DF ~ DF - 1.0 ; SMR 247 IF DF { 0 THEN SMR 248 BEGIN SMR 249 WRITE(PRINT,FRM14,NSTEP) ; SMR 250 GO TO LL14 SMR 251 END ; SMR 252 VMIN ~ 0.0 ; SMR 253 VMAX ~ 0.0 ; SMR 254 NIN ~ 0 ; SMR 255 FOR I ~ 1 STEP 1 UNTIL VMI DO SMR 256 BEGIN SMR 257 IF VEC[I,I] < 0 THEN SMR 258 BEGIN SMR 259 WRITE(PRINT,FRM15,NSTEP) ; SMR 260 GO TO LL14 SMR 261 END SMR 262 ELSE IF VEC[I,I] = 0 THEN SMR 263 GO TO LL8 SMR 264 ELSE IF VEC[I,I] - TOL < 0 THEN SMR 265 GO TO LL8 SMR 266 ELSE SMR 267 VAR ~ VEC[I,NOVA] | VEC[NOVA,I] / VEC[I,I] ; SMR 268 IF VAR < 0 THEN SMR 269 BEGIN SMR 270 NIN ~ NIN + 1 ; SMR 271 INDX[NIN] ~ I ; SMR 272 COEN[NIN] ~ VEC[I,NOVA] | SIG[NOVA] / SIG[I] ; SMR 273 SIGC[NIN] ~ (SIGY / SIG[I]) | SQRT(VEC[I,I]) ; SMR 274 COMMENT CHOOSE NEXT ENTERING VARIABLE AND LEAVING VARIABLE ; SMR 275 IF VMIN > 0 THEN SMR 276 BEGIN SMR 277 REWIND(TAPEB) ; SMR 278 GO TO START SMR 279 END SMR 280 ELSE IF VMIN = 0 THEN SMR 281 BEGIN SMR 282 LL6: VMIN ~ VAR ; SMR 283 NMIN ~ I ; SMR 284 GO TO LL8 SMR 285 END SMR 286 ELSE IF VAR - VMIN > 0 THEN SMR 287 GO TO LL6 SMR 288 ELSE SMR 289 GO TO LL8 SMR 290 END SMR 291 ELSE IF VAR = 0 THEN SMR 292 GO TO LL8 SMR 293 ELSE SMR 294 BEGIN SMR 295 IF VAR - VMAX { 0 THEN SMR 296 GO TO LL8 SMR 297 ELSE SMR 298 BEGIN SMR 299 VMAX ~ VAR ; SMR 300 NMAX ~ I SMR 301 END SMR 302 END ; SMR 303 LL8: END ; SMR 304 IF NIN < 0 THEN SMR 305 BEGIN SMR 306 REWIND(TAPEB) ; SMR 307 GO TO START SMR 308 END SMR 309 ELSE IF NIN = 0 THEN SMR 310 BEGIN SMR 311 WRITE(PRINT,FRM16,SIGY) ; SMR 312 GO TO LL10 SMR 313 END SMR 314 ELSE IF CNST THEN SMR 315 CONS ~ AVE[NOVA] SMR 316 ELSE SMR 317 BEGIN SMR 318 CONS ~ 0.0 ; SMR 319 GO TO LL9 SMR 320 END ; SMR 321 FOR I ~ 1 STEP 1 UNTIL NIN DO SMR 322 BEGIN SMR 323 J ~ INDX[I] ; SMR 324 CONS ~ CONS - (COEN[I] | AVE[J]) SMR 325 END ; SMR 326 LL9: IF STAP THEN SMR 327 BEGIN SMR 328 IF NENT { 0 THEN SMR 329 WRITE(PRINT,FRM17,NSTEP,K) SMR 330 ELSE SMR 331 WRITE(PRINT,FRM18,NSTEP,K) ; SMR 332 WRITE(PRINT,FRM19,KOEF) SMR 333 END ; SMR 334 COMMENT TESTS TO REMOVE OR ENTER VARIABLE ; SMR 335 IF SWICH THEN SMR 336 GO TO LL15 ; SMR 337 FLEV ~ VMIN | DF / VEC[NOVA,NOVA] ; SMR 338 IF FOUT + FLEV > 0 THEN SMR 339 BEGIN SMR 340 K ~ NMIN ; SMR 341 NENT ~ 0 ; SMR 342 GO TO LL16 SMR 343 END ; SMR 344 LL10: FLEV ~ VMAX | DF / (VEC[NOVA,NOVA] - VMAX) ; SMR 345 IF (FIN > FLEV) OR ((FIN = FLEV) AND (FIN { 0)) THEN SMR 346 GO TO LL13 ; SMR 347 K ~ NMAX ; SMR 348 NENT ~ K ; SMR 349 COMMENT COMPUTE NEXT MATRIX ; SMR 350 LL16: IF K { 0 THEN SMR 351 BEGIN SMR 352 REWIND(TAPEB) ; SMR 353 GO TO START SMR 354 END ; SMR 355 FOR I ~ 1 STEP 1 UNTIL NOVA DO SMR 356 BEGIN SMR 357 IF I = K THEN SMR 358 GO TO LL11 ; SMR 359 FOR J ~ 1 STEP 1 UNTIL NOVA DO SMR 360 BEGIN SMR 361 IF J ! K THEN SMR 362 VEC[I,J] ~ VEC[I,J] - VEC[I,K] | VEC[K,J] / VEC[K,K] SMR 363 END ; SMR 364 LL11: END ; SMR 365 FOR I ~ 1 STEP 1 UNTIL NOVA DO SMR 366 BEGIN SMR 367 IF I ! K THEN SMR 368 VEC[I,K] ~ - VEC[I,K] / VEC[K,K] SMR 369 END ; SMR 370 FOR J ~ 1 STEP 1 UNTIL NOVA DO SMR 371 BEGIN SMR 372 IF J ! K THEN SMR 373 VEC[K,J] ~ VEC[K,J] / VEC[K,K] SMR 374 END ; SMR 375 VEC[K,K] ~ 1.0 / VEC[K,K] ; SMR 376 GO TO LL12 ; SMR 377 LL13: WRITE(PRINT,FRM20,NSTEP) ; SMR 378 LL14: IF STAP THEN SMR 379 GO TO LL15 ; SMR 380 SWICH ~ TRUE ; SMR 381 GO TO LL9 ; SMR 382 LL15: WRITE(PRINT,FRM21,DIAG) ; SMR 383 IF PRED THEN SMR 384 BEGIN SMR 385 REWIND(TAPEB) ; SMR 386 WRITE(PRINT,FRM22) ; SMR 387 FOR N ~ 1 STEP 1 UNTIL NSAM DO SMR 388 BEGIN SMR 389 READ (TAPEB,NOVA+1,DATA[*]) ; SMR 390 YPRE ~ CONS ; SMR 391 FOR I ~ 1 STEP 1 UNTIL NIN DO SMR 392 BEGIN SMR 393 K ~ INDX[I] ; SMR 394 YPRE ~ YPRE + COEN[I] | DATA[K] SMR 395 END ; SMR 396 DEV ~ DATA[NOVA] - YPRE ; SMR 397 WRITE(PRINT,FRM23,N,DATA[NOVA],YPRE,DEV) SMR 398 END SMR 399 END ; SMR 400 REWIND(TAPEB) ; SMR 401 END SMR 402 END ; SMR 403 GO TO START ; SMR 404 NOMO: END PROGRAM. SMR 405 LABEL 000000000CARDR 0010000001 PROF. SERV. DEPT. PROB. 90010000.001000002.500000002.50000 4 15FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUEFALSE 32.0 48.0 54.0 15.0 36.0 33.0 19.0 16.0 3.0 28.0 30.0 14.0 12.0 33.0 64.0 22.0 36.0 34.0 60.0 24.0 24.0 36.0 53.0 19.0 19.0 42.0 29.0 13.0 20.0 33.0 55.0 15.0 27.0 36.0 62.0 23.0 15.0 22.0 33.0 12.0 45.0 46.0 68.0 25.0 9.0 28.0 42.0 17.0 11.0 32.0 45.0 18.0 33.0 34.0 39.0 19.0 21.0 45.0 39.0 18.0 PROF. SERV. DEPT. PROB. 9032 0.001 2.5 0.2 4 15 TRUE TRUE TRUE TRUE TRUE TRUE TRUEFALSE TRUE-1 4 9 9 32.0 48.0 54.0 15.0 0.1 36.0 33.0 19.0 16.0 1.0 3.0 28.0 30.0 14.0 1.0 12.0 33.0 64.0 22.0 1.0 36.0 34.0 60.0 24.0 0.4 24.0 36.0 53.0 19.0 3.0 19.0 42.0 29.0 13.0 1.0 20.0 33.0 55.0 15.0 0.2 27.0 36.0 62.0 23.0 1.0 15.0 22.0 33.0 12.0 0.3 45.0 46.0 68.0 25.0 2.0 9.0 28.0 42.0 17.0 1.0 11.0 32.0 45.0 18.0 1.0 33.0 34.0 39.0 19.0 1.0 21.0 45.0 39.0 18.0 1.0