0 0 1 1 2 2 3 3 2 2 1 1 4 4 3 3 1 1 2 2 5 5 6 6 7 7 2 2 6 6 3 3 8 8 5 5 7 7 9 9 10 10 11 11 12 12 13 13 2 2 3 3 5 5 7 7 14 14 9 9 15 15 16 16 17 17 10 10 18 18 2 2 16 16 18 18 17 17 18 18 10 10 17 17 19 19 20 20 15 15 0 0 2 2 18 18 10 10 2 2 7 7 21 21 22 22 23 23 24 24 25 25 22 22 22 22 25 25 23 23 26 26 27 27 21 21 21 21 27 27 22 22 28 28 22 22 27 27 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 35 35 37 37 30 30 29 29 38 38 39 39 40 40 38 38 29 29 41 41 39 39 29 29 42 42 43 43 44 44 45 45 34 34 39 39 46 46 47 47 48 48 49 49 45 45 43 43 50 50 51 51 48 48 44 44 46 46 49 49 48 48 51 51 52 52 53 53 33 33 53 53 54 54 33 33 32 32 55 55 56 56 56 56 52 52 32 32 49 49 57 57 45 45 32 32 52 52 33 33 58 58 59 59 60 60 32 32 57 57 55 55 57 57 60 60 55 55 33 33 54 54 61 61 47 47 62 62 63 63 64 64 65 65 66 66 61 61 67 67 68 68 67 67 61 61 69 69 70 70 71 71 72 72 73 73 72 72 74 74 72 72 67 67 74 74 75 75 72 72 73 73 76 76 75 75 77 77 75 75 76 76 72 72 78 78 71 71 79 79 77 77 80 80 76 76 71 71 70 70 79 79 54 54 69 69 61 61 81 81 40 40 39 39 57 57 32 32 45 45 68 68 34 34 33 33 57 57 58 58 60 60 32 32 34 34 45 45 82 82 58 58 57 57 68 68 67 67 72 72 70 70 72 72 76 76 78 78 83 83 71 71 61 61 68 68 33 33 68 68 72 72 71 71 84 84 49 49 51 51 44 44 34 34 71 71 57 57 49 49 82 82 44 44 48 48 45 45 84 84 82 82 49 49 65 65 83 83 66 66 34 34 68 68 71 71 65 65 71 71 83 83 43 43 51 51 41 41 65 65 46 46 44 44 51 51 85 85 84 84 48 48 41 41 51 51 50 50 85 85 51 51 47 47 64 64 62 62 44 44 71 71 65 65 64 64 47 47 65 65 39 39 47 47 81 81 86 86 43 43 42 42 48 48 46 46 41 41 41 41 29 29 43 43 50 50 43 43 86 86 81 81 47 47 63 63 65 65 47 47 46 46 87 87 38 38 40 40 41 41 46 46 39 39 39 39 38 38 29 29 31 31 88 88 42 42 31 31 42 42 29 29 86 86 42 42 88 88 35 35 38 38 87 87 37 37 89 89 30 30 37 37 30 30 38 38 31 31 30 30 89 89 90 90 91 91 92 92 93 93 94 94 95 95 90 90 92 92 96 96 96 96 97 97 90 90 96 96 92 92 98 98 98 98 93 93 96 96 93 93 95 95 96 96 96 96 95 95 97 97 99 99 100 100 101 101 102 102 100 100 99 99 100 100 103 103 104 104 100 100 104 104 105 105 103 103 100 100 106 106 106 106 100 100 107 107 108 108 100 100 105 105 109 109 107 107 100 100 101 101 100 100 108 108 110 110 100 100 102 102 110 110 111 111 100 100 100 100 111 111 109 109 112 112 113 113 114 114 115 115 116 116 117 117 116 116 118 118 117 117 119 119 115 115 120 120 115 115 121 121 116 116 122 122 123 123 124 124 125 125 120 120 126 126 127 127 128 128 129 129 113 113 130 130 128 128 131 131 132 132 133 133 134 134 132 132 127 127 135 135 136 136 137 137 133 133 138 138 139 139 140 140 135 135 141 141 135 135 137 137 141 141 141 141 137 137 142 142 137 137 139 139 138 138 139 139 131 131 133 133 132 132 131 131 127 127 128 128 130 130 129 129 129 129 134 134 127 127 112 112 114 114 124 124 114 114 113 113 128 128 125 125 123 123 122 122 124 124 114 114 122 122 143 143 144 144 145 145 146 146 144 144 143 143 115 115 126 126 120 120 120 120 146 146 143 143 120 120 125 125 122 122 121 121 115 115 119 119 137 137 136 136 139 139 142 142 137 137 138 138 136 136 147 147 139 139 139 139 147 147 131 131 147 147 148 148 131 131 131 131 148 148 127 127 148 148 149 149 127 127 149 149 128 128 127 127 149 149 150 150 128 128 150 150 114 114 128 128 150 150 151 151 114 114 151 151 122 122 114 114 151 151 152 152 122 122 146 146 120 120 152 152 152 152 120 120 122 122 119 119 120 120 143 143 153 153 154 154 155 155 155 155 156 156 157 157 157 157 156 156 158 158 159 159 157 157 160 160 157 157 158 158 161 161 162 162 157 157 159 159 157 157 163 163 164 164 165 165 166 166 167 167 157 157 162 162 163 163 168 168 167 167 169 169 167 167 168 168 162 162 170 170 171 171 169 169 170 170 169 169 167 167 170 170 172 172 173 173 174 174 175 175 173 173 175 175 171 171 173 173 174 174 176 176 175 175 177 177 178 178 179 179 180 180 176 176 178 178 177 177 181 181 178 178 182 182 178 178 181 181 178 178 183 183 180 180 182 182 184 184 183 183 183 183 178 178 182 182 174 174 185 185 186 186 172 172 187 187 173 173 173 173 171 171 170 170 167 167 162 162 188 188 189 189 170 170 190 190 162 162 159 159 191 191 163 163 162 162 168 168 192 192 153 153 164 164 153 153 155 155 157 157 153 153 157 157 164 164 161 161 160 160 157 157 191 191 188 188 162 162 188 188 165 165 167 167 166 166 193 193 167 167 193 193 190 190 170 170 170 170 167 167 193 193 172 172 170 170 189 189 187 187 194 194 173 173 173 173 194 194 185 185 185 185 174 174 173 173 179 179 174 174 186 186 179 179 178 178 174 174 176 176 174 174 178 178 195 195 196 196 197 197 197 197 198 198 199 199 197 197 199 199 195 195 200 200 201 201 202 202 201 201 200 200 203 203 204 204 203 203 205 205 206 206 204 204 205 205 205 205 203 203 200 200 207 207 208 208 209 209 208 208 210 210 211 211 208 208 207 207 210 210 212 212 213 213 214 214 215 215 216 216 217 217 216 216 218 218 217 217 219 219 220 220 218 218 221 221 222 222 223 223 224 224 225 225 226 226 227 227 228 228 229 229 230 230 229 229 231 231 232 232 227 227 233 233 232 232 228 228 227 227 234 234 232 232 233 233 227 227 235 235 236 236 228 228 231 231 229 229 230 230 231 231 221 221 222 222 213 213 223 223 221 221 223 223 230 230 212 212 214 214 225 225 213 213 222 222 214 214 215 215 224 224 226 226 224 224 212 212 225 225 220 220 217 217 218 218 226 226 216 216 215 215 237 237 238 238 239 239 220 220 219 219 239 239 229 229 240 240 235 235 236 236 233 233 227 227 230 230 241 241 240 240 235 235 227 227 229 229 223 223 242 242 241 241 240 240 229 229 230 230 213 213 243 243 242 242 241 241 230 230 223 223 212 212 244 244 243 243 242 242 223 223 213 213 224 224 245 245 244 244 243 243 213 213 212 212 215 215 246 246 245 245 244 244 212 212 224 224 217 217 247 247 246 246 245 245 224 224 215 215 220 220 238 238 247 247 246 246 215 215 217 217 238 238 220 220 239 239 247 247 217 217 220 220 248 248 249 249 250 250 251 251 252 252 253 253 253 253 252 252 254 254 255 255 256 256 251 251 251 251 253 253 257 257 258 258 259 259 260 260 261 261 262 262 256 256 263 263 264 264 265 265 250 250 265 265 266 266 267 267 268 268 269 269 270 270 263 263 269 269 271 271 272 272 273 273 268 268 274 274 275 275 276 276 277 277 271 271 271 271 277 277 272 272 277 277 278 278 272 272 272 272 275 275 274 274 274 274 268 268 267 267 269 269 263 263 267 267 265 265 264 264 266 266 264 264 263 263 270 270 248 248 259 259 249 249 249 249 265 265 250 250 261 261 258 258 260 260 259 259 258 258 249 249 279 279 280 280 281 281 282 282 279 279 281 281 251 251 256 256 262 262 256 256 279 279 282 282 256 256 258 258 261 261 257 257 255 255 251 251 272 272 274 274 273 273 278 278 275 275 272 272 273 273 274 274 283 283 274 274 267 267 283 283 283 283 267 267 284 284 267 267 263 263 284 284 284 284 263 263 285 285 285 285 263 263 265 265 285 285 265 265 286 286 286 286 265 265 249 249 286 286 249 249 287 287 287 287 249 249 258 258 287 287 258 258 288 288 282 282 288 288 256 256 288 288 258 258 256 256 255 255 279 279 256 256 289 289 290 290 291 291 292 292 293 293 294 294 289 289 295 295 290 290 296 296 297 297 298 298 291 291 290 290 298 298 298 298 297 297 291 291 299 299 300 300 301 301 301 301 300 300 296 296 296 296 300 300 297 297 302 302 303 303 304 304 305 305 299 299 304 304 306 306 295 295 289 289 304 304 299 299 302 302 295 295 306 306 307 307 308 308 307 307 309 309 306 306 309 309 307 307 308 308 310 310 311 311 310 310 308 308 309 309 312 312 313 313 311 311 311 311 310 310 312 312 293 293 313 313 294 294 312 312 294 294 313 313 314 314 292 292 315 315 292 292 294 294 315 315 315 315 294 294 316 316 294 294 312 312 316 316 316 316 312 312 317 317 312 312 310 310 317 317 317 317 310 310 318 318 310 310 309 309 318 318 318 318 309 309 319 319 309 309 306 306 319 319 319 319 306 306 320 320 306 306 289 289 320 320 320 320 289 289 321 321 289 289 291 291 321 321 321 321 291 291 322 322 291 291 297 297 322 322 322 322 297 297 323 323 297 297 300 300 323 323 323 323 300 300 324 324 301 301 302 302 299 299 305 305 324 324 299 299 300 300 299 299 324 324 325 325 326 326 327 327 328 328 329 329 330 330 325 325 331 331 326 326 331 331 325 325 332 332 331 331 333 333 326 326 333 333 331 331 328 328 328 328 331 331 329 329 331 331 332 332 329 329 334 334 335 335 336 336 337 337 338 338 339 339 340 340 341 341 342 342 343 343 344 344 345 345 346 346 347 347 341 341 334 334 345 345 344 344 334 334 344 344 335 335 334 334 336 336 348 348 349 349 348 348 336 336 350 350 348 348 351 351 349 349 352 352 353 353 354 354 355 355 356 356 357 357 339 339 338 338 347 347 358 358 345 345 347 347 359 359 341 341 360 360 340 340 342 342 358 358 343 343 345 345 342 342 361 361 360 360 357 357 338 338 362 362 360 360 361 361 363 363 364 364 361 361 342 342 365 365 363 363 361 361 366 366 365 365 361 361 367 367 345 345 334 334 351 351 368 368 369 369 351 351 369 369 350 350 370 370 371 371 368 368 350 350 372 372 367 367 356 356 373 373 374 374 356 356 375 375 376 376 377 377 378 378 374 374 374 374 371 371 379 379 354 354 356 356 380 380 374 374 378 378 380 380 380 380 381 381 382 382 364 364 342 342 357 357 358 358 347 347 346 346 369 369 376 376 372 372 348 348 350 350 334 334 359 359 345 345 367 367 348 348 349 349 353 353 334 334 350 350 367 367 383 383 348 348 353 353 359 359 342 342 341 341 384 384 364 364 357 357 385 385 337 337 386 386 347 347 345 345 359 359 357 357 359 359 339 339 387 387 368 368 351 351 339 339 367 367 372 372 348 348 383 383 351 351 372 372 350 350 369 369 387 387 351 351 383 383 342 342 359 359 357 357 384 384 357 357 362 362 386 386 388 388 385 385 367 367 339 339 359 359 337 337 339 339 386 386 371 371 373 373 368 368 386 386 372 372 376 376 368 368 387 387 389 389 369 369 368 368 373 373 370 370 368 368 389 389 375 375 390 390 388 388 372 372 386 386 339 339 386 386 375 375 388 388 356 356 355 355 375 375 391 391 379 379 371 371 369 369 373 373 376 376 373 373 371 371 374 374 370 370 391 391 371 371 386 386 376 376 375 375 390 390 375 375 355 355 392 392 354 354 380 380 373 373 356 356 376 376 356 356 374 374 380 380 377 377 379 379 393 393 377 377 374 374 379 379 391 391 393 393 379 379 382 382 392 392 380 380 381 381 378 378 394 394 381 381 380 380 378 378 377 377 394 394 378 378 395 395 396 396 397 397 398 398 397 397 399 399 397 397 396 396 399 399 400 400 395 395 401 401 395 395 397 397 401 401 402 402 401 401 397 397 403 403 404 404 405 405 406 406 405 405 407 407 403 403 405 405 406 406 408 408 407 407 409 409 410 410 411 411 409 409 410 410 409 409 412 412 409 409 411 411 413 413 405 405 404 404 414 414 415 415 412 412 405 405 414 414 415 415 405 405 416 416 417 417 418 418 414 414 404 404 419 419 414 414 419 419 420 420 421 421 422 422 423 423 423 423 422 422 403 403 403 403 422 422 404 404 424 424 421 421 425 425 405 405 412 412 409 409 407 407 405 405 409 409 426 426 427 427 428 428 426 426 429 429 430 430 426 426 430 430 427 427 427 427 430 430 431 431 430 430 432 432 433 433 429 429 432 432 430 430 434 434 435 435 436 436 434 434 436 436 437 437 437 437 436 436 438 438 438 438 436 436 439 439 440 440 436 436 435 435 436 436 441 441 442 442 443 443 436 436 444 444 445 445 441 441 436 436 445 445 436 436 443 443 436 436 442 442 439 439 444 444 436 436 446 446 436 436 440 440 446 446 447 447 448 448 449 449 450 450 451 451 452 452 449 449 453 453 454 454 455 455 456 456 457 457 458 458 459 459 460 460 461 461 462 462 463 463 464 464 465 465 453 453 466 466 463 463 457 457 462 462 467 467 468 468 469 469 458 458 464 464 470 470 462 462 468 468 471 471 463 463 472 472 470 470 468 468 473 473 448 448 474 474 475 475 476 476 475 475 477 477 478 478 479 479 480 480 476 476 481 481 482 482 455 455 483 483 456 456 484 484 452 452 482 482 478 478 480 480 483 483 485 485 450 450 486 486 479 479 478 478 487 487 488 488 451 451 489 489 451 451 488 488 490 490 491 491 492 492 493 493 451 451 450 450 489 489 491 491 490 490 492 492 487 487 494 494 495 495 450 450 485 485 496 496 497 497 498 498 499 499 497 497 500 500 486 486 501 501 486 486 500 500 502 502 500 500 497 497 486 486 501 501 485 485 494 494 499 499 503 503 504 504 451 451 491 491 496 496 489 489 450 450 484 484 450 450 452 452 490 490 491 491 451 451 486 486 484 484 498 498 498 498 497 497 486 486 505 505 452 452 504 504 486 486 450 450 484 484 481 481 484 484 482 482 504 504 452 452 451 451 498 498 481 481 503 503 503 503 499 499 498 498 506 506 482 482 505 505 498 498 484 484 481 481 477 477 481 481 476 476 505 505 482 482 452 452 503 503 477 477 495 495 495 495 494 494 503 503 507 507 476 476 506 506 503 503 481 481 477 477 474 474 477 477 475 475 506 506 476 476 482 482 495 495 474 474 479 479 479 479 487 487 495 495 508 508 475 475 507 507 495 495 477 477 474 474 447 447 474 474 448 448 507 507 475 475 476 476 480 480 479 479 447 447 471 471 455 455 457 457 509 509 448 448 508 508 479 479 474 474 447 447 454 454 447 447 449 449 508 508 448 448 475 475 480 480 454 454 456 456 456 456 483 483 480 480 510 510 449 449 509 509 480 480 447 447 454 454 454 454 453 453 465 465 509 509 449 449 448 448 465 465 457 457 456 456 460 460 466 466 464 464 453 453 510 510 469 469 456 456 454 454 465 465 466 466 465 465 464 464 510 510 453 453 449 449 471 471 457 457 463 463 472 472 462 462 470 470 464 464 458 458 460 460 457 457 465 465 466 466 461 461 466 466 460 460 469 469 464 464 453 453 472 472 463 463 462 462 463 463 466 466 461 461 467 467 461 461 511 511 462 462 461 461 467 467 459 459 511 511 460 460 461 461 460 460 511 511 512 512 513 513 514 514 515 515 516 516 517 517 518 518 519 519 520 520 521 521 522 522 523 523 517 517 524 524 515 515 525 525 526 526 527 527 528 528 529 529 530 530 531 531 532 532 533 533 534 534 533 533 535 535 531 531 533 533 536 536 531 531 536 536 537 537 535 535 527 527 534 534 533 533 538 538 536 536 527 527 535 535 525 525 530 530 513 513 528 528 525 525 529 529 526 526 526 526 529 529 528 528 512 512 523 523 522 522 514 514 523 523 512 512 513 513 530 530 514 514 520 520 516 516 518 518 522 522 521 521 524 524 515 515 524 524 521 521 516 516 539 539 518 518 533 533 532 532 535 535 533 533 534 534 538 538 532 532 540 540 535 535 535 535 540 540 525 525 540 540 541 541 525 525 525 525 541 541 529 529 541 541 542 542 529 529 529 529 542 542 530 530 542 542 543 543 530 530 530 530 543 543 514 514 543 543 544 544 514 514 514 514 544 544 523 523 544 544 545 545 523 523 523 523 545 545 521 521 545 545 546 546 521 521 521 521 546 546 515 515 546 546 547 547 515 515 517 517 516 516 520 520 539 539 516 516 547 547 515 515 547 547 516 516 548 548 549 549 550 550 551 551 552 552 553 553 553 553 552 552 554 554 555 555 554 554 556 556 557 557 558 558 559 559 560 560 561 561 562 562 563 563 564 564 565 565 566 566 567 567 564 564 568 568 569 569 563 563 568 568 563 563 565 565 570 570 569 569 568 568 563 563 571 571 572 572 565 565 564 564 567 567 566 566 557 557 567 567 559 559 558 558 550 550 557 557 566 566 558 558 548 548 562 562 549 549 550 550 549 549 559 559 551 551 561 561 560 560 560 560 562 562 548 548 556 556 554 554 552 552 561 561 551 551 553 553 573 573 574 574 575 575 556 556 574 574 555 555 564 564 572 572 576 576 571 571 563 563 569 569 566 566 576 576 577 577 572 572 564 564 563 563 558 558 577 577 578 578 576 576 566 566 564 564 550 550 578 578 579 579 577 577 558 558 566 566 548 548 579 579 580 580 578 578 550 550 558 558 560 560 580 580 581 581 579 579 548 548 550 550 551 551 581 581 582 582 580 580 560 560 548 548 552 552 582 582 583 583 581 581 551 551 560 560 556 556 583 583 575 575 582 582 552 552 551 551 575 575 574 574 556 556 583 583 556 556 552 552 584 584 585 585 586 586 587 587 588 588 584 584 586 586 585 585 589 589 590 590 591 591 585 585 585 585 592 592 589 589 593 593 590 590 585 585 585 585 594 594 595 595 596 596 597 597 598 598 585 585 595 595 593 593 599 599 600 600 597 597 597 597 593 593 599 599 601 601 600 600 602 602 601 601 597 597 600 600 603 603 601 601 602 602 604 604 605 605 606 606 603 603 604 604 607 607 608 608 609 609 606 606 610 610 604 604 609 609 611 611 609 609 612 612 606 606 609 609 604 604 613 613 611 611 612 612 604 604 603 603 605 605 614 614 603 603 607 607 603 603 602 602 605 605 597 597 615 615 593 593 616 616 617 617 601 601 593 593 618 618 590 590 595 595 599 599 593 593 619 619 594 594 588 588 588 588 585 585 584 584 588 588 594 594 585 585 592 592 585 585 591 591 618 618 593 593 615 615 615 615 597 597 596 596 598 598 597 597 620 620 620 620 601 601 617 617 601 601 620 620 597 597 614 614 616 616 601 601 614 614 601 601 603 603 607 607 604 604 621 621 621 621 604 604 610 610 610 610 609 609 622 622 611 611 622 622 609 609 608 608 612 612 609 609 623 623 624 624 625 625 626 626 627 627 628 628 629 629 627 627 630 630 631 631 632 632 628 628 633 633 634 634 623 623 635 635 636 636 637 637 638 638 639 639 640 640 635 635 638 638 640 640 641 641 635 635 640 640 634 634 633 633 642 642 643 643 644 644 629 629 645 645 646 646 647 647 644 644 648 648 647 647 649 649 650 650 651 651 652 652 653 653 649 649 654 654 655 655 652 652 656 656 657 657 658 658 659 659 660 660 654 654 654 654 652 652 659 659 661 661 656 656 662 662 646 646 663 663 662 662 664 664 657 657 665 665 666 666 667 667 649 649 624 624 651 651 625 625 668 668 669 669 636 636 642 642 670 670 634 634 632 632 671 671 672 672 672 672 638 638 632 632 673 673 674 674 631 631 632 632 631 631 674 674 675 675 676 676 677 677 676 676 673 673 631 631 678 678 675 675 677 677 668 668 670 670 679 679 638 638 672 672 639 639 680 680 677 677 631 631 671 671 632 632 674 674 626 626 628 628 632 632 676 676 631 631 677 677 638 638 637 637 626 626 637 637 638 638 635 635 681 681 680 680 628 628 638 638 626 626 632 632 630 630 627 627 626 626 680 680 631 631 628 628 637 637 669 669 630 630 669 669 637 637 636 636 682 682 681 681 627 627 637 637 630 630 626 626 643 643 629 629 630 630 681 681 628 628 627 627 669 669 679 679 643 643 679 679 669 669 668 668 683 683 682 682 629 629 669 669 643 643 630 630 648 648 644 644 643 643 682 682 627 627 629 629 679 679 642 642 648 648 642 642 679 679 670 670 684 684 683 683 644 644 679 679 648 648 643 643 645 645 647 647 648 648 683 683 629 629 644 644 633 633 645 645 642 642 666 666 651 651 624 624 685 685 684 684 647 647 642 642 645 645 648 648 663 663 646 646 645 645 684 684 644 644 647 647 633 633 625 625 663 663 625 625 633 633 623 623 686 686 685 685 646 646 633 633 663 663 645 645 663 663 661 661 662 662 685 685 647 647 646 646 661 661 625 625 651 651 665 665 656 656 650 650 662 662 658 658 686 686 625 625 661 661 663 663 650 650 656 656 661 661 686 686 646 646 662 662 666 666 649 649 651 651 667 667 659 659 652 652 656 656 665 665 657 657 651 651 650 650 661 661 653 653 665 665 650 650 658 658 662 662 656 656 667 667 652 652 649 649 649 649 653 653 650 650 655 655 687 687 653 653 652 652 655 655 653 653 664 664 665 665 687 687 653 653 687 687 665 665 688 688 689 689 690 690 688 688 691 691 692 692 688 688 690 690 691 691 690 690 693 693 691 691 691 691 694 694 695 695 692 692 691 691 695 695