Statistics

Problem Statement for "Shape3D"

Problem Statement

A shape in 3D Cartesian space is valid if it is made up of identical unit cubes, each cube in the shape has all its edges parallel to coordinate axes and its vertices are at non-negative integer coordinates. Two shapes are considered the same if one can be transformed into the other by some rotation and translation. You are given a description of a valid shape and should return the lexicographically smallest description of a valid shape that is the same as the one supplied.

You are given a String[] shape. Each element of shape describes a single unit cube from the shape and will contain three space-separated non-negative integers. The first of these gives the x-coordinate of the cube, the second gives the y-coordinate, and the third the z-coordinate. The cube is positioned such that the line segment between (x, y, z) and (x+1, y+1, z+1) is a diagonal of the cube and its edges are all parallel to the coordinate axes. Return a String[] containing the lexicographically smallest description of a valid shape in the same format as the input that can be transformed to the supplied shape by rotation and translation. Each element of your return must contain 3 single-space-separated non-negative integers without leading zeros and with no leading or trailing spaces. Each element of your return must describe a distinct cube from the shape.

Definition

Class:
Shape3D
Method:
findCanonical
Parameters:
String[]
Returns:
String[]
Method signature:
String[] findCanonical(String[] shape)
(be sure your method is public)

Notes

  • The lexicographically earlier of two String[]s is the one that has the lexicographically earlier String in the first position at which they differ.
  • The lexicographically earlier of two Strings is the one that either has the earlier character (using ASCII ordering) at the first position at which they differ or is a proper prefix of the other.
  • In ASCII ordering, a space character (' ') comes before any digit.
  • The return will contain only digits ('0' - '9') and spaces (' ').
  • Since the cubes of any valid shape must be aligned with the coordinate axes, any valid rotation can be achieved by a sequence of 90 degree rotations around the coordinate axes.

Constraints

  • shape will contain between 1 and 50 elements, inclusive.
  • Each element of shape will contain 3 space-separated integers without leading zeros between 0 and 1000, inclusive.
  • Each element of shape will contain no leading or trailing spaces.
  • The elements of shape will be distinct.
  • The cubes described in shape will form a connected volume in 3D Cartesian space, where 2 cubes are considered to be connected if they share a face.

Examples

  1. {"0 0 0","1 0 0","1 1 0","1 1 1","1 0 1","0 1 1","0 0 1","0 1 0"}

    Returns: {"0 0 0", "0 0 1", "0 1 0", "0 1 1", "1 0 0", "1 0 1", "1 1 0", "1 1 1" }

    This shape is a cube of side length 2, with a corner at the origin. No rotation or translation is required here, simply rearrange the order of the cubes to give the lexicographically minimum description.

  2. {"100 50 50","100 49 50","100 49 49"}

    Returns: {"0 0 0", "0 0 1", "0 1 0" }

    This shape needs to be rotated and translated so one of the squares lies at the origin.

  3. {"11 11 11","10 11 11","12 11 11" ,"11 11 10","11 11 12","11 10 11" ,"11 12 11","9 11 11","13 11 11"}

    Returns: {"0 1 1", "1 1 1", "2 0 1", "2 1 0", "2 1 1", "2 1 2", "2 2 1", "3 1 1", "4 1 1" }

  4. {"100 900 800","101 900 800","102 900 800","102 899 800" ,"102 898 800","102 897 800","102 896 800","102 896 801" ,"102 896 802","102 896 803","102 896 804","102 896 805" ,"102 896 806","102 896 807","102 896 808"}

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 0 3", "0 0 4", "0 0 5", "0 0 6", "0 0 7", "0 0 8", "0 1 8", "0 2 8", "0 3 8", "0 4 8", "1 4 8", "2 4 8" }

  5. {"2 2 0","2 2 1","2 2 3","2 2 4","2 0 2","2 1 2","2 3 2","2 4 2","0 2 2","1 2 2","3 2 2","4 2 2","2 2 2"}`

    Returns: {"0 10 10", "1 10 10", "2 10 10", "2 10 11", "2 10 12", "2 10 8", "2 10 9", "2 11 10", "2 12 10", "2 8 10", "2 9 10", "3 10 10", "4 10 10" }

    Be careful! Lexicographic ordering is not the same as numerical ordering.

  6. {"245 488 875","243 486 872","244 487 872","245 487 875","246 487 874","246 488 874","245 490 875","244 487 871","244 486 871","245 488 874","246 487 873","244 490 874","245 488 876","244 489 873","244 489 874","244 487 873","243 489 875","244 489 872","244 487 874","246 489 875","247 488 873","246 488 872","244 489 875","245 489 875","244 488 874","244 489 876","246 488 873","246 489 874","245 489 872","245 489 871","245 490 874","247 489 874","244 488 873","245 489 873","245 488 872","246 489 873","245 487 874","245 488 873","243 487 871","244 488 872","246 490 874","245 487 873","246 488 875","245 489 874","245 487 871","244 486 872","245 488 871","244 485 872","244 488 875","245 486 873"}

    Returns: {"0 0 10", "0 1 10", "0 1 9", "0 2 10", "0 2 11", "0 2 12", "1 0 9", "1 1 10", "1 1 11", "1 1 12", "1 1 8", "1 1 9", "1 2 11", "1 2 12", "1 3 11", "2 1 10", "2 1 11", "2 1 12", "2 2 10", "2 2 11", "2 2 12", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 4 11", "3 1 10", "3 1 11", "3 1 12", "3 1 13", "3 2 10", "3 2 11", "3 2 12", "3 2 13", "3 3 10", "3 3 11", "3 3 12", "3 3 13", "3 4 12", "4 0 12", "4 1 11", "4 1 12", "4 2 10", "4 2 11", "4 2 12", "4 2 13", "4 3 11", "4 3 12", "5 1 12", "5 2 11" }

  7. {"789 464 134","791 464 134","790 465 131","790 465 134","790 462 133","789 464 133","788 465 132","789 462 133","789 465 133","789 466 132","789 465 132","790 463 133","790 464 135","790 462 132","789 464 131","788 463 134","790 463 134","790 464 132","789 465 134","789 462 134","790 464 133","789 463 132","788 464 134","790 463 132","787 464 133","791 463 133","787 464 132","788 462 133","788 464 132","786 464 133","790 461 133","789 464 132","788 463 133","787 464 134","790 464 131","790 464 134","790 465 133","788 463 132","789 465 135","789 463 133","789 464 130","787 463 133","789 462 132","790 462 134","788 464 133","788 465 134","790 465 132","791 464 132","791 463 132","788 464 131"}

    Returns: {"0 1 10", "0 2 11", "0 3 10", "0 3 11", "1 0 10", "1 1 10", "1 1 11", "1 1 12", "1 1 9", "1 2 10", "1 2 11", "1 2 12", "1 2 13", "1 2 9", "1 3 10", "1 3 11", "1 3 12", "1 3 9", "1 4 10", "1 4 9", "2 0 9", "2 1 10", "2 1 12", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 8", "2 3 9", "2 4 10", "2 5 10", "3 1 10", "3 1 11", "3 1 9", "3 2 10", "3 2 11", "3 2 12", "3 3 10", "3 3 11", "3 3 9", "3 4 10", "4 1 10", "4 2 10", "4 2 11", "4 3 10", "5 2 10" }

  8. {"707 424 562","705 422 561","706 422 562","709 423 561","708 422 561","705 424 561","706 423 560","705 423 562","708 423 560","704 424 560","703 424 561","706 424 561","706 424 560","706 425 559","708 424 560","704 424 561","705 425 561","706 425 561","708 424 559","709 424 560","705 426 561","707 423 561","706 425 562","706 421 561","705 423 561","707 425 561","706 422 560","709 423 559","706 425 563","706 424 559","705 424 562","704 424 562","707 424 561","706 424 558","708 423 561","706 424 562","707 424 560","707 423 560","708 425 560","706 424 557","706 423 561","708 424 561","706 423 559","706 424 563","706 422 561","709 423 560","706 423 558","704 423 561","707 422 561","706 425 558"}

    Returns: {"0 1 10", "0 2 10", "1 1 10", "1 2 10", "1 2 11", "1 2 12", "1 2 9", "1 3 11", "1 4 10", "2 0 11", "2 1 10", "2 1 11", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 13", "2 2 8", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 7", "2 3 8", "2 3 9", "2 4 10", "2 4 11", "2 4 8", "2 4 9", "2 5 10", "3 1 8", "3 2 10", "3 2 12", "3 2 7", "3 2 8", "3 2 9", "3 3 10", "3 3 7", "3 3 8", "3 3 9", "3 4 10", "4 1 10", "4 2 10", "4 2 8", "4 3 10", "4 3 7", "5 1 10", "5 2 10", "5 3 10", "6 2 10" }

  9. {"869 400 720","872 399 723","870 400 723","871 399 718","868 399 719","870 399 719","869 399 723","870 400 724","870 398 721","869 397 721","868 399 721","870 399 718","869 399 718","870 400 718","870 398 718","869 401 721","869 400 722","868 400 721","869 398 721","871 399 722","870 398 724","869 399 719","867 399 721","871 398 723","869 400 723","870 398 719","870 400 721","871 399 719","871 400 721","869 399 721","868 399 720","869 398 722","868 398 721","869 400 721","870 399 721","871 399 723","870 398 722","870 399 724","871 399 724","870 399 722","869 398 719","870 399 720","870 399 723","869 400 719","871 400 723","870 398 720","871 399 721","869 399 720","871 399 720","869 399 722"}

    Returns: {"0 1 10", "0 2 10", "0 2 11", "0 2 9", "0 3 10", "1 1 10", "1 1 11", "1 2 10", "1 2 11", "1 2 12", "1 2 9", "1 3 11", "2 1 10", "2 2 10", "2 2 11", "2 2 12", "2 2 9", "2 3 11", "3 0 11", "3 1 10", "3 1 11", "3 1 12", "3 2 10", "3 2 11", "3 2 12", "3 2 13", "3 2 9", "3 3 10", "3 3 11", "3 3 12", "3 3 9", "3 4 11", "4 1 10", "4 1 11", "4 2 10", "4 2 11", "4 2 9", "4 3 11", "5 1 9", "5 2 10", "5 2 11", "5 2 8", "5 2 9", "5 3 10", "5 3 11", "5 3 9", "6 1 10", "6 2 10", "6 2 9", "6 3 10" }

  10. {"663 508 137","667 510 137","665 509 138","665 511 139","664 510 136","663 510 137","665 508 137","664 509 139","666 510 138","663 509 138","662 510 136","664 511 137","664 509 135","664 509 138","666 510 137","665 509 136","663 512 137","664 510 135","665 511 136","665 510 138","664 509 136","663 510 138","665 511 137","664 511 138","666 509 137","662 510 137","666 509 138","664 510 137","666 510 136","664 512 138","667 510 138","664 508 136","664 511 136","665 510 136","666 510 139","665 510 137","663 511 138","664 509 137","664 512 137","662 511 137","663 509 137","665 509 137","663 509 136","665 510 135","662 509 137","663 512 138","665 511 138","666 511 137","664 510 138","664 512 136"}

    Returns: {"0 1 1", "0 1 2", "0 2 1", "0 2 2", "0 3 2", "1 0 3", "1 1 1", "1 1 2", "1 1 3", "1 2 0", "1 2 2", "1 2 3", "1 2 4", "1 3 2", "1 3 3", "2 0 4", "2 1 1", "2 1 2", "2 1 3", "2 1 4", "2 1 5", "2 2 0", "2 2 1", "2 2 2", "2 2 3", "2 2 4", "2 2 5", "2 3 0", "2 3 2", "2 3 3", "2 3 4", "2 4 2", "2 4 3", "3 0 2", "3 1 1", "3 1 2", "3 1 3", "3 1 4", "3 2 0", "3 2 1", "3 2 2", "3 2 3", "3 2 4", "3 3 1", "3 3 2", "3 3 3", "3 4 2", "4 2 1", "4 2 3", "4 3 2" }

  11. {"148 228 507","150 227 506","150 229 506","150 230 507","147 228 507","149 230 505","149 229 508","150 229 507","151 229 508","147 229 507","151 229 506","151 228 508","148 230 507","151 230 509","150 230 505","151 227 507","150 228 507","151 230 507","150 231 505","149 231 507","150 227 507","151 231 508","149 228 508","149 230 508","147 229 506","151 229 507","150 232 508","148 229 508","149 228 506","150 231 509","152 230 508","149 229 509","150 231 507","150 231 508","148 229 507","150 229 508","149 228 507","147 229 508","149 229 507","149 230 507","150 230 508","149 230 506","149 231 508","148 230 508","147 230 507","151 230 508","149 227 507","151 230 505","150 230 506","150 230 504"}

    Returns: {"0 1 10", "0 2 10", "0 2 11", "0 2 9", "0 3 10", "1 1 10", "1 1 11", "1 2 10", "1 2 11", "1 2 9", "2 0 10", "2 1 10", "2 1 11", "2 1 12", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 8", "2 2 9", "2 3 11", "2 3 9", "2 4 11", "3 0 12", "3 1 10", "3 1 11", "3 1 12", "3 1 13", "3 2 10", "3 2 11", "3 2 12", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 8", "3 4 11", "3 4 12", "3 5 11", "4 0 11", "4 1 10", "4 1 11", "4 1 12", "4 1 9", "4 2 10", "4 2 11", "4 2 8", "4 3 10", "4 4 11", "5 1 11" }

  12. {"392 918 516","391 919 516","391 918 516","393 919 517","391 915 517","392 919 518","390 919 517","389 918 516","390 916 518","392 919 517","391 919 517","392 919 516","391 917 516","392 918 515","390 918 516","393 916 517","391 916 516","391 914 517","391 919 518","392 915 517","390 917 518","392 917 518","389 919 517","392 918 517","390 917 516","391 920 518","392 916 518","392 917 516","391 917 517","389 918 518","392 916 516","391 917 518","391 916 517","391 916 518","391 915 516","389 918 517","389 917 517","391 918 518","390 919 518","390 916 517","391 919 515","391 919 519","390 918 517","390 915 517","390 917 515","391 916 519","392 920 517","393 918 516","391 918 517","392 916 517"}

    Returns: {"0 1 10", "0 2 10", "0 2 11", "0 2 9", "0 3 10", "1 0 11", "1 1 10", "1 1 11", "1 2 10", "1 2 12", "1 2 13", "1 2 9", "1 3 11", "1 3 12", "1 3 9", "2 0 9", "2 1 10", "2 1 11", "2 1 12", "2 1 13", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 13", "2 2 14", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 8", "2 3 9", "2 4 12", "2 4 9", "3 0 10", "3 1 10", "3 1 11", "3 1 12", "3 1 9", "3 2 10", "3 2 12", "3 2 13", "3 2 8", "3 2 9", "3 3 11", "3 3 12", "3 3 9", "4 1 10", "4 2 12", "4 2 9" }

  13. {"427 751 495","427 751 498","428 749 496","427 748 495","426 751 496","427 750 498","428 751 496","427 749 498","429 750 497","426 751 497","426 750 497","427 749 495","426 750 496","425 749 496","427 747 496","426 750 495","427 750 497","425 749 497","426 751 495","429 749 496","427 748 496","424 750 496","427 749 497","425 751 496","426 749 495","426 752 496","425 750 497","429 750 496","428 750 496","427 752 495","425 750 496","426 750 498","429 751 496","425 750 495","427 750 496","427 750 495","428 748 496","426 749 496","427 751 497","428 750 497","427 749 496","428 749 495","427 752 497","426 748 496","428 749 497","427 749 494","426 749 498","427 751 494","426 750 494","427 751 496"}

    Returns: {"0 1 10", "0 2 10", "0 2 11", "0 2 9", "1 1 10", "1 1 11", "1 2 10", "1 2 11", "1 2 12", "1 2 9", "1 3 11", "2 0 10", "2 0 11", "2 0 9", "2 1 10", "2 1 11", "2 1 8", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 13", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 8", "2 3 9", "2 4 11", "2 4 9", "3 0 10", "3 0 11", "3 1 10", "3 1 9", "3 2 10", "3 2 11", "3 2 12", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 9", "3 4 10", "4 1 10", "4 1 11", "4 2 10", "4 2 11", "4 2 9", "4 3 10", "5 2 10" }

  14. {"670 158 626","669 159 628","670 161 628","670 159 626","669 160 629","671 158 626","669 161 628","671 161 627","670 160 626","672 159 626","669 157 628","671 159 626","670 160 629","671 157 627","669 159 626","671 159 625","669 158 628","669 161 627","670 158 628","669 159 625","670 161 626","670 158 627","669 160 627","670 159 628","670 159 624","669 160 626","670 160 628","669 158 626","670 159 627","667 159 628","671 159 627","668 158 626","671 160 626","670 160 627","671 158 627","668 159 626","669 159 627","668 159 628","670 159 625","670 162 627","668 160 628","668 160 626","670 161 627","671 160 627","671 159 628","668 159 627","668 159 629","669 160 628","670 160 625","667 159 626"}

    Returns: {"0 1 10", "0 2 8", "1 1 10", "1 1 9", "1 2 8", "1 2 9", "1 3 10", "1 3 11", "1 3 8", "1 3 9", "2 0 11", "2 1 10", "2 1 11", "2 1 12", "2 1 8", "2 1 9", "2 2 10", "2 2 11", "2 2 8", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 7", "2 3 8", "2 3 9", "2 4 10", "2 4 8", "2 4 9", "2 5 9", "3 0 10", "3 0 9", "3 1 10", "3 1 11", "3 1 9", "3 2 10", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 8", "3 3 9", "3 4 9", "4 1 10", "4 1 9", "4 2 10", "4 2 8", "4 2 9", "4 3 9", "5 2 9" }

  15. {"245 564 771","244 563 769","246 564 772","243 565 772","245 565 772","242 564 770","243 562 771","246 564 770","244 564 773","245 563 772","242 563 771","244 565 769","244 564 770","245 565 771","244 563 770","245 564 769","244 563 768","244 564 768","243 562 770","244 564 771","244 564 769","245 564 770","246 565 771","243 561 771","242 564 772","244 565 771","242 562 771","243 563 771","244 563 773","244 563 771","242 564 771","243 565 771","244 564 772","242 563 772","243 564 773","243 563 770","243 563 769","245 566 771","243 562 772","243 565 770","245 564 773","245 563 771","244 562 771","243 564 771","244 564 774","243 564 772","245 564 772","243 563 772","244 563 772","243 564 770"}

    Returns: {"0 1 10", "0 2 10", "0 2 11", "0 3 10", "0 3 11", "0 3 9", "1 0 10", "1 1 10", "1 1 11", "1 1 9", "1 2 10", "1 2 11", "1 2 8", "1 2 9", "1 3 10", "1 3 11", "1 3 12", "1 3 9", "1 4 10", "1 4 11", "1 4 9", "2 1 10", "2 2 10", "2 2 11", "2 2 12", "2 2 7", "2 2 8", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 13", "2 3 7", "2 3 8", "2 3 9", "2 4 10", "2 4 8", "3 2 10", "3 2 11", "3 3 10", "3 3 11", "3 3 12", "3 3 8", "3 3 9", "3 4 10", "3 4 11", "3 5 10", "4 3 11", "4 3 9", "4 4 10" }

  16. {"270 382 522","271 383 522","268 383 522","270 384 522","267 382 522","270 379 522","272 382 521","269 382 522","266 381 522","271 383 523","270 381 521","270 380 524","272 383 519","267 381 521","268 382 522","269 381 522","269 381 521","269 380 521","271 382 521","270 380 523","272 383 522","270 381 522","273 383 522","267 381 520","271 381 521","270 380 521","270 379 523","271 380 523","270 382 521","272 382 522","268 382 521","269 382 521","270 383 522","272 382 518","268 381 522","269 383 522","272 382 520","268 381 521","266 380 522","267 383 522","271 381 522","271 380 522","270 379 521","270 381 524","272 381 521","272 382 519","268 383 521","271 382 522","270 380 522","267 381 522"}

    Returns: {"0 1 10", "0 2 10", "0 3 10", "1 0 10", "1 1 10", "1 1 9", "1 2 10", "1 2 14", "1 2 9", "1 3 10", "1 3 11", "2 0 10", "2 2 10", "2 2 11", "2 2 12", "2 2 13", "2 2 14", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 13", "2 3 8", "2 3 9", "2 4 13", "3 2 10", "3 2 11", "3 2 12", "3 2 13", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 12", "3 3 8", "3 3 9", "3 4 8", "3 5 8", "3 6 8", "4 1 9", "4 2 10", "4 2 11", "4 2 12", "4 2 13", "4 2 7", "4 2 8", "4 2 9", "4 3 12", "4 5 8", "5 2 10" }

  17. {"696 259 761","694 260 764","694 258 763","693 260 764","695 259 764","693 259 766","696 258 761","693 260 765","693 260 766","695 258 763","694 259 764","694 260 766","694 259 763","695 258 762","693 259 765","694 260 765","695 258 764","696 258 762"}

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 1 0", "0 1 1", "1 0 0", "1 0 1", "1 0 2", "1 1 2", "1 1 3", "1 2 3", "2 1 2", "2 2 2", "2 2 3", "2 2 4", "3 1 5", "3 2 4", "3 2 5" }

  18. {"59 731 272","59 731 273","59 732 273"}

    Returns: {"0 0 0", "0 0 1", "0 1 0" }

  19. {"879 907 568","878 908 570","878 905 568","880 906 570","879 907 566","879 904 567","879 907 570","878 906 567","879 909 570","876 904 569","879 906 563","879 906 568","879 906 567","878 909 570","879 907 565","879 905 568","878 905 567","878 906 564","877 905 567","880 909 570","876 905 568","877 905 568","878 906 563","877 906 568","876 905 569","878 907 570","878 905 563","878 907 566","880 906 571","878 906 568","878 906 566","878 907 568","879 906 564","879 907 564","879 906 569","879 907 567","879 905 567","877 904 568","880 907 570","875 905 568","880 908 570","880 909 571","876 904 568","879 906 570","876 906 568","880 907 568","878 907 567","880 907 567","880 906 568","875 906 568"}

    Returns: {"0 0 0", "0 0 1", "0 1 1", "0 2 1", "1 0 1", "1 2 1", "2 0 1", "2 0 3", "2 0 4", "2 1 1", "2 1 3", "2 1 4", "2 1 5", "2 1 6", "2 1 7", "2 2 1", "2 2 3", "2 2 4", "2 2 5", "3 0 0", "3 0 1", "3 0 3", "3 1 1", "3 1 2", "3 1 3", "3 1 4", "3 1 7", "3 1 8", "3 2 3", "3 2 4", "3 2 5", "3 2 7", "3 2 8", "3 3 3", "3 4 3", "3 5 3", "4 1 3", "4 1 4", "4 2 3", "4 2 4", "4 2 8", "4 3 3", "4 3 4", "4 4 2", "4 4 3", "4 5 3", "5 1 4", "5 3 3", "5 4 2", "5 4 3" }

  20. {"352 747 703","352 748 704","352 746 699","352 746 697","351 748 704","353 745 699","353 746 701","351 746 699","353 747 702","352 748 703","350 748 700","351 747 698","350 747 700","353 746 702","351 747 699","353 747 700","354 747 701","353 745 702","351 748 699","352 747 702","354 746 701","352 745 703","352 745 704","353 745 701","351 747 700","354 746 700","352 747 700","352 746 702","352 746 698","350 748 699","352 746 703","351 746 700","354 747 700","354 745 702","351 748 698","350 746 700","353 746 700","354 745 701","352 745 702","354 747 702","354 745 703","351 746 698","353 745 700","350 746 699","351 746 702","352 746 704","354 746 703","350 747 699","353 746 699","351 745 702"}

    Returns: {"0 0 1", "0 0 2", "0 0 3", "0 1 1", "0 1 3", "0 1 4", "0 2 2", "0 2 3", "0 2 4", "1 0 2", "1 0 3", "1 0 4", "1 0 5", "1 1 2", "1 1 3", "1 1 4", "1 1 5", "1 2 2", "1 2 4", "2 0 0", "2 0 1", "2 0 2", "2 1 0", "2 1 1", "2 1 2", "2 1 5", "2 1 6", "2 1 7", "2 2 1", "2 2 2", "2 2 4", "2 3 0", "2 3 1", "3 0 2", "3 1 2", "3 1 4", "3 1 5", "3 1 6", "3 2 4", "3 2 5", "3 2 6", "3 3 0", "3 3 5", "3 3 6", "4 1 4", "4 1 5", "4 2 4", "4 2 5", "4 3 4", "4 3 5" }

  21. {"389 512 723","386 513 723","390 511 721","388 513 722","388 512 725","389 513 724","387 513 722","388 513 724","391 512 721","386 511 724","385 513 724","387 514 720","389 513 723","389 513 725","385 512 725","386 512 724","387 513 720","390 513 724","388 513 725","387 513 724","392 513 724","390 511 724","386 510 724","387 513 723","390 512 722","388 514 721","387 512 725","385 513 723","390 512 721","387 512 724","391 512 722","385 512 726","388 513 723","389 512 722","386 512 725","390 512 723","388 513 721","387 513 721","389 512 721","384 513 723","389 510 722","391 513 724","389 511 723","391 512 723","384 513 724","389 511 722","391 512 724","393 513 724","390 512 724","386 513 724"}

    Returns: {"0 0 10", "0 1 10", "1 0 11", "1 1 10", "1 1 11", "1 2 12", "1 2 13", "1 2 14", "1 3 13", "2 1 10", "2 1 11", "2 2 12", "2 2 13", "2 2 14", "2 3 12", "2 4 12", "3 1 10", "3 1 11", "3 1 12", "3 1 7", "3 1 8", "3 1 9", "3 2 12", "3 2 13", "3 2 14", "3 3 12", "4 1 10", "4 1 11", "4 1 12", "4 1 13", "4 1 14", "4 1 15", "4 1 16", "4 1 7", "4 1 8", "4 1 9", "4 2 10", "4 2 13", "4 2 14", "4 2 9", "4 3 13", "4 3 9", "4 4 9", "5 1 11", "5 1 12", "5 2 10", "5 2 11", "5 2 8", "5 2 9", "6 2 8" }

  22. {"773 840 157","771 839 158","772 838 159","772 839 159","768 839 157","772 841 158","772 839 158","769 839 157","772 841 160","770 840 155","768 839 156","771 840 158","773 840 158","772 842 159","774 840 157","769 838 158","769 840 155","774 840 159","770 839 156","772 842 158","772 840 159","772 842 157","771 841 159","769 839 156","771 839 155","772 840 158","773 839 157","767 840 156","773 841 159","769 837 156","773 840 159","769 839 158","773 841 157","770 839 155","767 839 156","772 841 159","773 839 159","769 838 157","767 838 156","771 840 159","766 839 156","773 838 159","769 838 156","768 838 157","770 839 158","768 837 156","773 839 158","768 838 156","772 839 155","768 838 158"}

    Returns: {"0 1 10", "0 1 11", "1 1 10", "1 1 11", "1 1 9", "1 2 10", "1 2 11", "1 3 10", "1 3 11", "1 4 14", "1 4 15", "2 0 12", "2 0 13", "2 0 14", "2 1 10", "2 1 11", "2 1 12", "2 1 8", "2 1 9", "2 2 10", "2 2 11", "2 2 15", "2 3 11", "2 3 12", "2 3 13", "2 3 14", "2 3 15", "2 4 14", "2 4 15", "3 0 11", "3 0 12", "3 1 9", "3 2 15", "3 2 16", "3 3 13", "3 3 14", "3 3 15", "3 4 13", "3 4 14", "3 4 15", "3 4 16", "4 2 15", "4 3 14", "4 4 13", "4 4 14", "4 4 15", "4 5 14", "5 2 14", "5 3 14", "5 4 14" }

  23. {"307 947 122","305 947 122","306 947 122","304 947 123","304 947 122"}

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 0 3", "0 1 0" }

  24. {"466 600 901","467 604 901","468 606 902","468 603 898","469 607 904","467 603 898","465 600 902","467 605 902","468 604 901","468 603 899","468 607 904","465 608 901","464 600 903","463 600 903","467 608 901","467 602 901","467 605 901","464 608 902","470 607 904","466 600 902","466 607 902","467 607 901","466 608 902","464 600 902","465 600 903","466 603 897","467 606 902","468 604 899","466 603 901","467 603 901","467 606 901","468 605 902","467 603 897","469 607 903","467 607 902","469 606 902","466 601 901","466 608 901","464 609 902","463 608 902","467 604 899","467 601 901","467 600 901","466 604 897","467 603 896","469 606 903","465 608 902","467 604 900","467 608 902","468 604 900"}

    Returns: {"0 0 1", "0 1 1", "0 1 2", "0 2 1", "0 2 2", "0 3 2", "0 3 3", "0 4 3", "1 3 3", "1 4 3", "2 4 3", "3 3 3", "3 3 7", "3 4 3", "3 4 6", "3 4 7", "3 4 8", "3 5 5", "3 5 6", "4 3 7", "4 4 3", "4 4 4", "4 4 5", "4 5 3", "4 5 4", "4 5 5", "5 4 2", "5 4 3", "5 5 2", "6 4 2", "6 4 3", "6 5 2", "6 6 1", "6 6 2", "7 3 2", "7 4 2", "7 4 3", "7 5 0", "7 6 0", "7 6 1", "7 7 0", "8 0 2", "8 1 2", "8 2 2", "8 2 3", "8 3 2", "8 3 3", "8 4 2", "8 4 3", "9 1 2" }

  25. {"712 284 90","714 284 91","712 282 89","712 285 91","712 283 90","712 284 91","712 283 88","713 283 89","714 284 90","713 284 90","713 283 90","712 282 91","714 285 91","715 287 89","714 283 90","715 284 91","714 283 91","715 287 88","712 285 90","713 283 91","714 285 90","713 285 90","713 285 91","713 284 89","715 286 89","712 283 89","714 285 89","715 283 91","714 286 91","713 285 89","712 282 88","712 283 91","714 286 89","714 286 90"}

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 0 3", "0 1 1", "0 1 2", "0 1 3", "0 2 0", "0 2 1", "0 3 0", "0 3 1", "1 0 1", "1 0 3", "1 1 1", "1 1 2", "1 1 3", "1 2 1", "1 2 2", "1 2 3", "2 0 1", "2 0 2", "2 0 3", "2 0 4", "2 1 1", "2 1 2", "2 1 3", "2 1 4", "2 2 3", "2 2 4", "3 0 1", "3 0 2", "3 2 4", "3 2 5", "3 3 5" }

  26. {"850 656 613","843 657 612","849 656 614","846 656 612","846 655 613","844 657 613","845 656 613","847 656 613","847 656 614","843 658 613","846 655 615","843 656 612","845 655 611","845 657 613","846 655 614","846 656 614","844 655 613","844 658 612","848 655 614","845 656 614","844 658 614","846 654 615","844 656 612","849 656 613","846 657 613","846 656 611","848 656 614","846 656 613","843 658 612","844 658 613","845 654 612","844 655 612","847 655 614","844 656 613","844 657 612","848 656 613","848 656 612","843 655 612","845 655 612","845 655 613","844 656 614","844 655 611","843 657 611","847 655 613","845 658 613","844 659 612","844 657 614","846 655 612","843 657 613","847 656 612"}

    Returns: {"0 0 10", "0 1 10", "0 1 11", "0 1 12", "0 1 9", "0 2 10", "0 2 9", "1 0 12", "1 1 10", "1 1 11", "1 1 12", "1 1 8", "1 1 9", "1 2 10", "1 2 11", "1 2 12", "1 2 9", "1 3 10", "1 3 11", "1 3 9", "2 0 12", "2 1 12", "2 1 13", "2 2 10", "2 2 11", "2 2 12", "2 2 9", "2 3 11", "3 0 11", "3 1 11", "3 1 12", "3 2 10", "3 2 11", "3 2 12", "3 3 11", "3 3 12", "3 4 12", "3 4 13", "4 1 11", "4 2 11", "4 2 12", "4 3 11", "4 3 12", "5 1 11", "5 2 11", "5 3 11", "5 3 12", "6 2 11", "6 3 11", "7 2 11" }

  27. {"251 702 82","254 703 80","254 703 82","255 701 81","254 701 82","256 701 84","254 702 82","255 703 82","254 703 85","255 702 86","254 703 87","253 703 85","254 701 81","255 702 84","254 703 84","255 703 85","254 702 80","254 701 84","255 701 85","254 702 81","253 701 82","256 705 84","253 702 82","255 702 85","253 703 81","254 703 83","256 704 84","255 703 84","255 701 83","255 701 84","255 701 86","254 702 84","255 702 81","254 702 85","255 704 84","253 703 82","254 703 86","255 702 82","256 702 83","253 703 84","253 702 84","252 702 82","252 703 82","254 702 83","255 702 83","255 700 84","253 700 82","253 702 83","256 701 85","256 703 84"}

    Returns: {"0 0 10", "0 1 10", "0 2 10", "0 3 9", "0 4 10", "0 4 11", "1 1 10", "1 2 10", "1 2 11", "1 2 8", "1 3 10", "1 3 11", "1 3 12", "1 3 7", "1 3 8", "1 3 9", "1 4 10", "1 4 11", "1 4 12", "1 4 7", "1 4 9", "1 5 10", "2 2 10", "2 2 11", "2 2 12", "2 2 13", "2 2 6", "2 2 8", "2 2 9", "2 3 10", "2 3 11", "2 3 6", "2 3 7", "2 3 8", "2 3 9", "2 4 10", "2 4 7", "2 4 8", "3 2 10", "3 2 11", "3 2 7", "3 2 8", "3 3 10", "3 3 8", "3 3 9", "3 4 8", "3 5 8", "4 2 8", "4 3 8", "5 3 8" }

  28. {"764 637 873","767 636 872","765 634 872","766 636 873","766 635 873","768 636 874","764 635 873","767 639 875","765 636 872","767 638 874","766 637 872","765 636 873","766 634 873","766 638 874","764 636 871","768 636 875","766 637 873","767 637 874","764 636 872","767 636 873","766 636 872","766 638 875","764 635 871","765 636 870","768 638 875","767 638 875","767 637 875","766 637 874","765 635 872","765 637 873","768 637 874","765 636 874","765 636 871","768 634 873","764 635 872","765 637 872","765 635 873","766 637 875","764 636 873","765 637 875","767 636 874","767 634 873","767 637 873","766 637 876","765 634 873","767 639 874","767 638 873","766 635 872","765 638 872","767 639 873"}

    Returns: {"0 0 10", "0 1 10", "0 2 10", "0 3 10", "0 3 9", "1 2 10", "1 2 9", "1 3 10", "1 3 9", "1 4 10", "1 4 8", "1 4 9", "2 0 11", "2 0 12", "2 1 10", "2 1 11", "2 1 9", "2 2 10", "2 2 9", "2 3 10", "2 3 11", "2 3 7", "2 3 8", "2 3 9", "2 4 10", "2 4 8", "2 4 9", "3 0 11", "3 1 10", "3 1 11", "3 1 12", "3 2 10", "3 2 11", "3 2 12", "3 2 13", "3 2 9", "3 3 10", "3 3 12", "3 3 9", "3 4 10", "4 0 12", "4 1 10", "4 1 11", "4 1 12", "4 2 11", "4 2 12", "4 3 9", "5 1 10", "5 1 11", "5 1 12" }

  29. {"622 197 858","621 196 858","624 197 858","619 199 859","625 198 859","617 198 859","621 199 859","624 197 857","623 196 858","621 198 860","622 197 857","621 200 860","624 196 858","623 195 858","623 197 858","624 197 859","621 199 860","619 198 859","620 198 859","623 198 858","621 198 859","624 196 859","622 198 858","623 197 857","618 199 859","621 197 858","623 198 857","620 199 859","622 200 857","625 197 858","622 198 860","621 200 859","622 197 856","625 198 858","622 198 857","624 196 857","624 198 859","618 198 860","623 198 861","620 200 859","624 198 858","622 199 857","621 199 858","622 199 861","624 198 860","621 198 858","622 198 861","622 197 861","618 198 859","622 196 858"}

    Returns: {"0 1 10", "0 2 10", "0 2 9", "0 3 10", "1 0 11", "1 1 11", "1 2 10", "1 2 11", "1 2 14", "1 2 8", "2 0 11", "2 0 12", "2 1 11", "2 1 12", "2 1 13", "2 1 14", "2 2 11", "2 2 12", "2 2 13", "2 2 14", "2 2 15", "2 2 7", "2 2 8", "2 3 8", "2 4 8", "3 1 11", "3 2 10", "3 2 11", "3 2 7", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 7", "3 3 8", "3 3 9", "3 4 10", "3 4 11", "3 4 8", "3 4 9", "3 5 9", "4 0 10", "4 1 10", "4 2 10", "4 2 9", "4 3 10", "4 3 8", "4 3 9", "4 4 8", "5 3 10" }

  30. {"152 781 528","151 782 523","151 781 525","150 782 524","152 780 525","151 780 522","154 781 523","149 779 524","154 781 525","151 783 521","152 781 524","149 782 525","150 782 521","149 782 524","151 780 524","151 781 523","154 781 524","149 781 524","154 782 523","149 780 524","153 782 524","149 782 522","154 780 525","152 780 523","152 781 523","150 783 521","152 780 524","148 782 525","150 782 522","152 781 527","153 780 524","149 779 525","152 779 524","150 782 525","151 779 525","151 784 521","151 779 524","151 780 525","150 780 525","152 779 525","150 782 523","151 780 523","152 781 526","149 782 523","151 781 524","150 779 525","153 781 524","152 781 525","151 779 523","154 782 524"}

    Returns: {"0 0 10", "0 1 10", "0 1 9", "0 2 9", "1 2 8", "1 2 9", "1 4 10", "2 2 10", "2 2 13", "2 2 8", "2 2 9", "2 3 10", "2 3 11", "2 3 13", "2 4 10", "2 4 11", "2 5 10", "3 2 12", "3 2 13", "3 2 8", "3 2 9", "3 3 10", "3 3 11", "3 3 12", "3 3 13", "3 3 8", "3 4 10", "3 4 11", "3 4 12", "3 4 8", "3 5 10", "3 5 11", "3 5 8", "4 2 7", "4 2 8", "4 2 9", "4 3 10", "4 3 11", "4 3 13", "4 4 10", "4 4 11", "4 4 13", "4 4 9", "4 5 10", "4 5 11", "4 5 8", "4 5 9", "5 3 11", "6 3 11", "7 3 11" }

  31. {"181 830 342","184 833 343","183 833 345","185 832 346","180 832 344","183 835 344","183 829 345","183 831 344","185 834 342","181 831 344","183 830 344","182 832 343","180 831 344","182 832 344","185 832 342","184 831 343","183 833 344","180 830 344","183 831 342","180 830 343","185 833 342","186 831 345","183 834 343","186 831 344","184 832 343","185 832 345","183 835 345","184 831 344","182 830 341","184 832 344","185 831 345","183 831 343","182 832 342","183 834 344","183 833 343","183 832 343","181 832 344","183 832 344","184 829 345","184 832 342","184 834 343","187 831 345","183 832 342","182 831 342","182 831 341","185 831 344","185 829 345","181 831 342","184 830 344","184 830 345"}

    Returns: {"0 1 10", "0 1 11", "0 1 12", "1 1 11", "1 2 11", "1 2 12", "1 2 15", "1 3 15", "1 4 14", "1 5 13", "2 1 10", "2 1 8", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 14", "2 2 15", "2 2 9", "2 3 11", "2 3 12", "2 4 12", "2 4 13", "2 4 14", "2 5 13", "3 0 10", "3 1 10", "3 2 11", "3 2 12", "3 2 13", "3 2 14", "3 2 15", "3 3 11", "3 3 12", "3 3 13", "3 4 10", "3 4 11", "3 4 12", "3 4 13", "4 1 12", "4 2 12", "4 3 11", "4 3 12", "4 4 10", "5 2 12", "5 3 11", "5 3 12", "5 4 10", "6 1 12", "6 2 12" }

  32. {"66 654 129","66 654 132","66 654 131","66 655 132","66 654 130"}

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 0 3", "0 1 0" }

  33. {"376 636 908","375 637 908","376 637 910","376 635 907","376 638 910","375 636 908","376 636 906","375 636 909","376 638 909","375 635 907","375 635 908","375 633 908","376 635 908","377 639 910","377 638 910","375 639 910","375 638 910","377 636 908","377 638 908","376 636 907","376 638 906","373 636 907","374 634 909","375 635 906","376 636 909","376 637 907","376 638 905","377 636 909","377 636 906","373 636 908","375 635 909","376 636 910","374 637 908","376 638 908","374 636 907","375 634 907","373 637 907","375 637 909","376 638 907","374 638 910","375 637 907","374 635 909","376 635 909","373 634 909","374 637 907","374 636 908","375 634 908","376 637 909","373 635 908","374 633 909"}

    Returns: {"0 0 0", "0 0 1", "0 1 3", "0 2 1", "0 2 3", "0 4 3", "1 0 1", "1 0 2", "1 0 3", "1 1 1", "1 1 2", "1 1 3", "1 1 4", "1 2 1", "1 2 3", "1 2 4", "1 3 1", "1 3 2", "1 3 3", "1 3 4", "1 4 1", "1 4 3", "1 5 1", "2 0 0", "2 0 1", "2 1 2", "2 1 3", "2 1 4", "2 2 2", "2 2 3", "2 2 4", "2 2 5", "2 2 6", "2 3 2", "2 3 4", "2 3 5", "2 4 4", "3 0 1", "3 1 4", "3 1 5", "3 1 6", "3 2 2", "3 2 3", "3 3 2", "3 3 3", "4 1 5", "4 2 3", "4 2 4", "4 3 2", "4 3 3" }

  34. {"414 886 331","416 887 335","414 887 334","415 886 333","416 886 332","413 885 334","415 885 334","418 888 334","414 886 330","415 886 334","416 885 334","413 887 334","416 886 334","417 887 334","416 887 332","414 885 334","415 885 333","415 884 333","416 885 335","416 884 334","416 888 334","416 888 333","414 887 333","418 887 333","417 887 335","415 886 332","417 887 336","417 888 334","416 886 335","416 882 334","416 883 334","414 886 333","417 887 333","417 886 335","415 885 332","417 888 333","415 888 333","416 887 333","417 886 334","415 886 335","417 887 332","415 884 332","416 886 333","416 887 334","417 886 336","418 887 332","418 888 333","413 886 331","414 886 334","414 886 332"}

    Returns: {"0 0 10", "0 0 11", "0 1 10", "0 1 11", "0 2 10", "0 2 11", "0 3 11", "1 0 11", "1 0 12", "1 1 10", "1 1 11", "1 1 12", "1 1 8", "1 1 9", "1 2 10", "1 2 11", "1 2 12", "1 2 9", "1 4 10", "1 4 11", "1 5 10", "2 1 10", "2 1 8", "2 1 9", "2 2 10", "2 2 11", "2 2 12", "2 2 9", "2 3 10", "2 3 11", "2 3 12", "2 3 9", "2 4 10", "2 4 11", "2 4 12", "2 4 13", "2 4 14", "2 5 13", "3 2 10", "3 2 9", "3 3 10", "3 3 11", "3 3 12", "3 4 10", "3 5 10", "4 2 10", "4 3 11", "4 3 12", "5 2 10", "6 2 10" }

  35. {"568 912 859","568 912 861","568 911 858","568 911 861","566 913 862","569 911 859","566 914 862","569 912 860","568 914 863","568 912 860","567 913 861","566 910 860","567 910 860","568 911 862","567 911 861","567 911 862","567 912 863","567 914 863","566 909 859","567 911 860","567 913 863","568 910 859","568 911 859","568 914 862","567 912 862","569 911 860","568 910 861","568 911 863","567 913 862","567 911 857","568 912 862","569 910 859","569 910 861","568 913 863","567 912 860","566 913 863","567 912 859","566 910 859","567 911 858","567 912 861","566 913 861","566 910 861","567 911 859","568 911 860","567 910 861","568 913 862","567 910 859","567 909 859","566 909 861","567 910 858"}

    Returns: {"0 0 1", "0 0 2", "0 1 0", "0 1 2", "1 0 0", "1 0 1", "1 0 2", "1 1 0", "1 1 1", "1 1 2", "1 2 0", "1 2 1", "2 0 1", "2 1 1", "2 1 2", "2 2 1", "2 2 2", "2 3 1", "2 3 2", "2 3 3", "2 4 1", "2 4 2", "3 0 2", "3 1 1", "3 1 2", "3 2 1", "3 2 2", "3 3 1", "3 3 2", "3 3 3", "3 4 1", "3 4 2", "3 4 3", "3 5 1", "3 5 2", "3 6 1", "4 2 0", "4 2 1", "4 2 2", "4 2 3", "4 3 0", "4 3 1", "4 4 0", "4 4 1", "4 4 2", "4 4 3", "4 5 1", "5 2 0", "5 4 0", "5 4 1" }

  36. {"3 3 3","3 3 2","3 3 1","3 3 0","3 3 4","3 3 5","3 3 6","3 0 3","3 1 3","3 2 3","3 4 3","3 5 3","3 6 3","0 3 3","1 3 3","2 3 3","4 3 3","5 3 3","6 3 3","2 0 3","4 0 3","3 0 2","3 0 4"}

    Returns: {"0 10 10", "0 10 11", "0 10 12", "0 11 11", "0 9 11", "1 10 11", "2 10 11", "3 10 10", "3 10 11", "3 10 12", "3 10 13", "3 10 14", "3 10 8", "3 10 9", "3 11 11", "3 12 11", "3 13 11", "3 7 11", "3 8 11", "3 9 11", "4 10 11", "5 10 11", "6 10 11" }

  37. {"12 0 0","12 0 1","12 0 2","12 0 3","12 0 4","12 0 5","12 0 6","12 0 7","12 0 8","12 0 9","12 0 10","12 0 11","12 0 12","12 0 13","12 0 14","12 0 15","12 0 16","12 0 17","12 0 18","12 0 19","12 0 20","12 0 21","12 0 22","12 0 23","12 0 24","0 0 12","1 0 12","2 0 12","3 0 12","4 0 12","5 0 12","6 0 12","7 0 12","8 0 12","9 0 12","10 0 12","11 0 12","13 0 12","14 0 12","15 0 12","16 0 12","17 0 12","18 0 12","19 0 12","20 0 12","21 0 12","22 0 12","23 0 12","24 0 12"}

    Returns: {"0 0 100", "0 1 100", "0 10 100", "0 11 100", "0 12 100", "0 12 101", "0 12 102", "0 12 103", "0 12 104", "0 12 105", "0 12 106", "0 12 107", "0 12 108", "0 12 109", "0 12 110", "0 12 111", "0 12 112", "0 12 88", "0 12 89", "0 12 90", "0 12 91", "0 12 92", "0 12 93", "0 12 94", "0 12 95", "0 12 96", "0 12 97", "0 12 98", "0 12 99", "0 13 100", "0 14 100", "0 15 100", "0 16 100", "0 17 100", "0 18 100", "0 19 100", "0 2 100", "0 20 100", "0 21 100", "0 22 100", "0 23 100", "0 24 100", "0 3 100", "0 4 100", "0 5 100", "0 6 100", "0 7 100", "0 8 100", "0 9 100" }

  38. {"10 10 10","10 10 9","10 10 8","10 9 10","10 8 10","10 7 10","9 10 10","8 10 10","7 10 10","6 10 10","10 10 11","10 10 12","10 10 13","10 10 14","10 10 15","10 11 10","10 12 10","10 13 10","10 14 10","10 15 10","10 16 10","11 10 10","12 10 10","13 10 10","14 10 10","15 10 10","16 10 10","17 10 10"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

    {"10 10 10","10 10 9","10 10 8","10 9 10","10 8 10","10 7 10","9 10 10","8 10 10","7 10 10","6 10 10","10 10 11","10 10 12","10 10 13","10 10 14","10 10 15","10 11 10","10 12 10","10 13 10","10 14 10","10 15 10","10 16 10","11 10 10","12 10 10","13 10 10","14 10 10","15 10 10","16 10 10","17 10 10"}

  39. {"4 3 2","4 3 1","4 3 0","4 2 2","4 1 2","4 0 2","3 3 2","2 3 2","1 3 2","0 3 2","4 3 3","4 3 4","4 3 5","4 3 6","4 3 7","4 4 2","4 5 2","4 6 2","4 7 2","4 8 2","4 9 2","5 3 2","6 3 2","7 3 2","8 3 2","9 3 2","10 3 2","11 3 2"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  40. {"4 2 6","4 1 6","4 0 6","4 2 7","4 2 8","4 2 9","3 2 6","2 2 6","1 2 6","0 2 6","4 3 6","4 4 6","4 5 6","4 6 6","4 7 6","4 2 5","4 2 4","4 2 3","4 2 2","4 2 1","4 2 0","5 2 6","6 2 6","7 2 6","8 2 6","9 2 6","10 2 6","11 2 6"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  41. {"4 6 5","4 6 6","4 6 7","4 7 5","4 8 5","4 9 5","3 6 5","2 6 5","1 6 5","0 6 5","4 6 4","4 6 3","4 6 2","4 6 1","4 6 0","4 5 5","4 4 5","4 3 5","4 2 5","4 1 5","4 0 5","5 6 5","6 6 5","7 6 5","8 6 5","9 6 5","10 6 5","11 6 5"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  42. {"4 5 3","4 6 3","4 7 3","4 5 2","4 5 1","4 5 0","3 5 3","2 5 3","1 5 3","0 5 3","4 4 3","4 3 3","4 2 3","4 1 3","4 0 3","4 5 4","4 5 5","4 5 6","4 5 7","4 5 8","4 5 9","5 5 3","6 5 3","7 5 3","8 5 3","9 5 3","10 5 3","11 5 3"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  43. {"3 4 5","3 4 6","3 4 7","2 4 5","1 4 5","0 4 5","3 3 5","3 2 5","3 1 5","3 0 5","3 4 4","3 4 3","3 4 2","3 4 1","3 4 0","4 4 5","5 4 5","6 4 5","7 4 5","8 4 5","9 4 5","3 5 5","3 6 5","3 7 5","3 8 5","3 9 5","3 10 5","3 11 5"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  44. {"3 2 4","3 1 4","3 0 4","2 2 4","1 2 4","0 2 4","3 2 3","3 2 2","3 2 1","3 2 0","3 3 4","3 4 4","3 5 4","3 6 4","3 7 4","4 2 4","5 2 4","6 2 4","7 2 4","8 2 4","9 2 4","3 2 5","3 2 6","3 2 7","3 2 8","3 2 9","3 2 10","3 2 11"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  45. {"3 7 2","3 7 1","3 7 0","2 7 2","1 7 2","0 7 2","3 8 2","3 9 2","3 10 2","3 11 2","3 7 3","3 7 4","3 7 5","3 7 6","3 7 7","4 7 2","5 7 2","6 7 2","7 7 2","8 7 2","9 7 2","3 6 2","3 5 2","3 4 2","3 3 2","3 2 2","3 1 2","3 0 2"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  46. {"3 5 7","3 6 7","3 7 7","2 5 7","1 5 7","0 5 7","3 5 8","3 5 9","3 5 10","3 5 11","3 4 7","3 3 7","3 2 7","3 1 7","3 0 7","4 5 7","5 5 7","6 5 7","7 5 7","8 5 7","9 5 7","3 5 6","3 5 5","3 5 4","3 5 3","3 5 2","3 5 1","3 5 0"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  47. {"2 4 3","1 4 3","0 4 3","2 4 2","2 4 1","2 4 0","2 3 3","2 2 3","2 1 3","2 0 3","3 4 3","4 4 3","5 4 3","6 4 3","7 4 3","2 4 4","2 4 5","2 4 6","2 4 7","2 4 8","2 4 9","2 5 3","2 6 3","2 7 3","2 8 3","2 9 3","2 10 3","2 11 3"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  48. {"2 3 7","1 3 7","0 3 7","2 2 7","2 1 7","2 0 7","2 3 8","2 3 9","2 3 10","2 3 11","3 3 7","4 3 7","5 3 7","6 3 7","7 3 7","2 4 7","2 5 7","2 6 7","2 7 7","2 8 7","2 9 7","2 3 6","2 3 5","2 3 4","2 3 3","2 3 2","2 3 1","2 3 0"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  49. {"2 7 6","1 7 6","0 7 6","2 7 7","2 7 8","2 7 9","2 8 6","2 9 6","2 10 6","2 11 6","3 7 6","4 7 6","5 7 6","6 7 6","7 7 6","2 7 5","2 7 4","2 7 3","2 7 2","2 7 1","2 7 0","2 6 6","2 5 6","2 4 6","2 3 6","2 2 6","2 1 6","2 0 6"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  50. {"2 6 4","1 6 4","0 6 4","2 7 4","2 8 4","2 9 4","2 6 3","2 6 2","2 6 1","2 6 0","3 6 4","4 6 4","5 6 4","6 6 4","7 6 4","2 5 4","2 4 4","2 3 4","2 2 4","2 1 4","2 0 4","2 6 5","2 6 6","2 6 7","2 6 8","2 6 9","2 6 10","2 6 11"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  51. {"7 3 5","7 3 6","7 3 7","7 2 5","7 1 5","7 0 5","8 3 5","9 3 5","10 3 5","11 3 5","7 3 4","7 3 3","7 3 2","7 3 1","7 3 0","7 4 5","7 5 5","7 6 5","7 7 5","7 8 5","7 9 5","6 3 5","5 3 5","4 3 5","3 3 5","2 3 5","1 3 5","0 3 5"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  52. {"7 2 3","7 1 3","7 0 3","7 2 2","7 2 1","7 2 0","8 2 3","9 2 3","10 2 3","11 2 3","7 3 3","7 4 3","7 5 3","7 6 3","7 7 3","7 2 4","7 2 5","7 2 6","7 2 7","7 2 8","7 2 9","6 2 3","5 2 3","4 2 3","3 2 3","2 2 3","1 2 3","0 2 3"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  53. {"7 6 2","7 6 1","7 6 0","7 7 2","7 8 2","7 9 2","8 6 2","9 6 2","10 6 2","11 6 2","7 6 3","7 6 4","7 6 5","7 6 6","7 6 7","7 5 2","7 4 2","7 3 2","7 2 2","7 1 2","7 0 2","6 6 2","5 6 2","4 6 2","3 6 2","2 6 2","1 6 2","0 6 2"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  54. {"7 5 6","7 6 6","7 7 6","7 5 7","7 5 8","7 5 9","8 5 6","9 5 6","10 5 6","11 5 6","7 4 6","7 3 6","7 2 6","7 1 6","7 0 6","7 5 5","7 5 4","7 5 3","7 5 2","7 5 1","7 5 0","6 5 6","5 5 6","4 5 6","3 5 6","2 5 6","1 5 6","0 5 6"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  55. {"6 4 2","6 4 1","6 4 0","7 4 2","8 4 2","9 4 2","6 3 2","6 2 2","6 1 2","6 0 2","6 4 3","6 4 4","6 4 5","6 4 6","6 4 7","5 4 2","4 4 2","3 4 2","2 4 2","1 4 2","0 4 2","6 5 2","6 6 2","6 7 2","6 8 2","6 9 2","6 10 2","6 11 2"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  56. {"6 2 7","6 1 7","6 0 7","7 2 7","8 2 7","9 2 7","6 2 8","6 2 9","6 2 10","6 2 11","6 3 7","6 4 7","6 5 7","6 6 7","6 7 7","5 2 7","4 2 7","3 2 7","2 2 7","1 2 7","0 2 7","6 2 6","6 2 5","6 2 4","6 2 3","6 2 2","6 2 1","6 2 0"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  57. {"6 7 5","6 7 6","6 7 7","7 7 5","8 7 5","9 7 5","6 8 5","6 9 5","6 10 5","6 11 5","6 7 4","6 7 3","6 7 2","6 7 1","6 7 0","5 7 5","4 7 5","3 7 5","2 7 5","1 7 5","0 7 5","6 6 5","6 5 5","6 4 5","6 3 5","6 2 5","6 1 5","6 0 5"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  58. {"6 5 4","6 6 4","6 7 4","7 5 4","8 5 4","9 5 4","6 5 3","6 5 2","6 5 1","6 5 0","6 4 4","6 3 4","6 2 4","6 1 4","6 0 4","5 5 4","4 5 4","3 5 4","2 5 4","1 5 4","0 5 4","6 5 5","6 5 6","6 5 7","6 5 8","6 5 9","6 5 10","6 5 11"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  59. {"5 4 6","6 4 6","7 4 6","5 4 7","5 4 8","5 4 9","5 3 6","5 2 6","5 1 6","5 0 6","4 4 6","3 4 6","2 4 6","1 4 6","0 4 6","5 4 5","5 4 4","5 4 3","5 4 2","5 4 1","5 4 0","5 5 6","5 6 6","5 7 6","5 8 6","5 9 6","5 10 6","5 11 6"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  60. {"5 3 4","6 3 4","7 3 4","5 2 4","5 1 4","5 0 4","5 3 3","5 3 2","5 3 1","5 3 0","4 3 4","3 3 4","2 3 4","1 3 4","0 3 4","5 4 4","5 5 4","5 6 4","5 7 4","5 8 4","5 9 4","5 3 5","5 3 6","5 3 7","5 3 8","5 3 9","5 3 10","5 3 11"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  61. {"5 7 3","6 7 3","7 7 3","5 7 2","5 7 1","5 7 0","5 8 3","5 9 3","5 10 3","5 11 3","4 7 3","3 7 3","2 7 3","1 7 3","0 7 3","5 7 4","5 7 5","5 7 6","5 7 7","5 7 8","5 7 9","5 6 3","5 5 3","5 4 3","5 3 3","5 2 3","5 1 3","5 0 3"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  62. {"5 6 7","6 6 7","7 6 7","5 7 7","5 8 7","5 9 7","5 6 8","5 6 9","5 6 10","5 6 11","4 6 7","3 6 7","2 6 7","1 6 7","0 6 7","5 5 7","5 4 7","5 3 7","5 2 7","5 1 7","5 0 7","5 6 6","5 6 5","5 6 4","5 6 3","5 6 2","5 6 1","5 6 0"}

    Returns: {"0 10 10", "1 10 10", "10 10 10", "11 10 10", "2 10 10", "3 10 10", "4 10 10", "4 10 11", "4 10 12", "4 10 13", "4 10 14", "4 10 15", "4 10 16", "4 10 7", "4 10 8", "4 10 9", "4 11 10", "4 12 10", "4 5 10", "4 6 10", "4 7 10", "4 8 10", "4 9 10", "5 10 10", "6 10 10", "7 10 10", "8 10 10", "9 10 10" }

  63. {"11 11 11", "10 11 11", "12 11 11", "11 11 10", "11 11 12", "11 10 11", "11 12 11", "9 11 11", "13 11 11" }

    Returns: {"0 1 1", "1 1 1", "2 0 1", "2 1 0", "2 1 1", "2 1 2", "2 2 1", "3 1 1", "4 1 1" }

  64. {"100 900 800", "101 900 800", "102 900 800", "102 899 800", "102 898 800", "102 897 800", "102 896 800", "102 896 801", "102 896 802", "102 896 803", "102 896 804", "102 896 805", "102 896 806", "102 896 807", "102 896 808" }

    Returns: {"0 0 0", "0 0 1", "0 0 2", "0 0 3", "0 0 4", "0 0 5", "0 0 6", "0 0 7", "0 0 8", "0 1 8", "0 2 8", "0 3 8", "0 4 8", "1 4 8", "2 4 8" }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: