From a046333d2eea59580cd9ced8b81f1a09480964ee Mon Sep 17 00:00:00 2001 From: Shaun Hamilton Date: Tue, 6 Feb 2024 11:37:18 +0000 Subject: [PATCH] feat: refactor for freecodecamp-os@3 --- .devcontainer/devcontainer.json | 10 +- ....freecodecamp-dark-vscode-theme-0.1.0.vsix | Bin 567437 -> 0 bytes .freeCodeCamp/.eslintignore | 2 - .freeCodeCamp/.eslintrc.json | 17 - .freeCodeCamp/.prettierignore | 4 - .freeCodeCamp/.prettierrc | 9 - .freeCodeCamp/freecodecamp.conf.json | 26 - .freeCodeCamp/output/index.html | 51 - .freeCodeCamp/output/index.js | 98 - .freeCodeCamp/output/prism.css | 3 - .freeCodeCamp/output/prism.js | 42 - .freeCodeCamp/output/styles.css | 183 - .freeCodeCamp/package-lock.json | 4780 -------------- .freeCodeCamp/package.json | 33 - .freeCodeCamp/sample.env | 8 - .freeCodeCamp/tooling/client-socks.js | 31 - .freeCodeCamp/tooling/env.js | 39 - .freeCodeCamp/tooling/lesson.js | 22 - .freeCodeCamp/tooling/locales/conf.js | 11 - .../tooling/locales/english/comments.json | 37 - .../tooling/locales/english/project-1.md | 211 - .../problem-1-multiples-of-3-and-5.md | 72 - .../problem-125-palindromic-sums.md | 42 - .../problem-128-hexagonal-tile-differences.md | 54 - .../problem-168-number-rotations.md | 44 - .../problem-18-maximum-path-sum-i.md | 109 - .../problem-206-concealed-square.md | 38 - .../problem-36-double-base-palindromes.md | 66 - .../problem-51-prime-digit-replacements.md | 125 - .freeCodeCamp/tooling/parser.js | 140 - .freeCodeCamp/tooling/server.js | 77 - .freeCodeCamp/tooling/t.js | 23 - .freeCodeCamp/tooling/test-utils.js | 89 - .freeCodeCamp/tooling/test.js | 65 - .github/workflows/linter.yml | 31 - .gitpod.yml | 22 +- .logs/.bash_history | 1 - .logs/.cwd | 0 .logs/.next_command | 0 .logs/.temp.log | 0 .logs/.terminal-out.log | 0 .vscode/euler-rust-gitpod.png | Bin 280425 -> 229229 bytes .vscode/settings.json | 46 +- Cargo.lock | 126 - Dockerfile | 51 +- README.md | 2 +- config/projects.json | 57 + config/state.json | 8 + .../project-euler-problems-1-to-100.md | 4798 ++++++++++++++ .../project-euler-problems-101-to-200.md | 2787 +++++++++ .../project-euler-problems-201-to-300.md | 2594 ++++++++ .../project-euler-problems-301-to-400.md | 2776 ++++++++ .../project-euler-problems-401-to-480.md | 2379 +++++++ .../problem-1-multiples-of-3-or-5.md | 73 + .../problem-10-summation-of-primes.md | 53 +- .../problem-100-arranged-probability.md | 2 +- .../problem-11-largest-product-in-a-grid.md | 2 +- ...m-12-highly-divisible-triangular-number.md | 2 +- .../problem-13-large-sum.md | 4 +- .../problem-14-longest-collatz-sequence.md | 2 +- .../problem-15-lattice-paths.md | 2 +- .../problem-16-power-digit-sum.md | 2 +- .../problem-17-number-letter-counts.md | 2 +- .../problem-18-maximum-path-sum-i.md | 104 + .../problem-19-counting-sundays.md | 2 +- .../problem-2-even-fibonacci-numbers.md | 4 +- .../problem-20-factorial-digit-sum.md | 2 +- .../problem-21-amicable-numbers.md | 2 +- .../problem-22-names-scores.md | 2 +- .../problem-23-non-abundant-sums.md | 2 +- .../problem-24-lexicographic-permutations.md | 2 +- .../problem-25-1000-digit-fibonacci-number.md | 2 +- .../problem-26-reciprocal-cycles.md | 2 +- .../problem-27-quadratic-primes.md | 2 +- .../problem-28-number-spiral-diagonals.md | 2 +- .../problem-29-distinct-powers.md | 2 +- .../problem-3-largest-prime-factor.md | 2 +- .../problem-30-digit-n-powers.md | 2 +- .../problem-31-coin-sums.md | 2 +- .../problem-32-pandigital-products.md | 2 +- .../problem-33-digit-cancelling-fractions.md | 2 +- .../problem-34-digit-factorials.md | 2 +- .../problem-35-circular-primes.md | 2 +- .../problem-36-double-base-palindromes.md | 131 + .../problem-37-truncatable-primes.md | 2 +- .../problem-38-pandigital-multiples.md | 2 +- .../problem-39-integer-right-triangles.md | 2 +- .../problem-4-largest-palindrome-product.md | 2 +- .../problem-40-champernownes-constant.md | 2 +- .../problem-41-pandigital-prime.md | 2 +- .../problem-42-coded-triangle-numbers.md | 2 +- .../problem-43-sub-string-divisibility.md | 14 +- .../problem-44-pentagon-numbers.md | 2 +- ...-45-triangular-pentagonal-and-hexagonal.md | 2 +- .../problem-46-goldbachs-other-conjecture.md | 2 +- .../problem-47-distinct-primes-factors.md | 55 +- .../problem-48-self-powers.md | 2 +- .../problem-49-prime-permutations.md | 2 +- .../problem-5-smallest-multiple.md | 2 +- .../problem-50-consecutive-prime-sum.md | 86 +- .../problem-51-prime-digit-replacements.md | 140 + .../problem-52-permuted-multiples.md | 2 +- .../problem-53-combinatoric-selections.md | 2 +- .../problem-54-poker-hands.md | 2 +- .../problem-55-lychrel-numbers.md | 2 +- .../problem-56-powerful-digit-sum.md | 2 +- .../problem-57-square-root-convergents.md | 2 +- .../problem-58-spiral-primes.md | 2 +- .../problem-59-xor-decryption.md | 2 +- .../problem-6-sum-square-difference.md | 2 +- .../problem-60-prime-pair-sets.md | 2 +- .../problem-61-cyclical-figurate-numbers.md | 2 +- .../problem-62-cubic-permutations.md | 2 +- .../problem-63-powerful-digit-counts.md | 2 +- .../problem-64-odd-period-square-roots.md | 4 +- .../problem-65-convergents-of-e.md | 2 +- .../problem-66-diophantine-equation.md | 10 +- .../problem-67-maximum-path-sum-ii.md | 13 +- .../problem-68-magic-5-gon-ring.md | 2 +- .../problem-69-totient-maximum.md | 2 +- .../problem-7-10001st-prime.md | 2 +- .../problem-70-totient-permutation.md | 2 +- .../problem-71-ordered-fractions.md | 2 +- .../problem-72-counting-fractions.md | 2 +- ...roblem-73-counting-fractions-in-a-range.md | 62 +- .../problem-74-digit-factorial-chains.md | 2 +- ...lem-75-singular-integer-right-triangles.md | 2 +- .../problem-76-counting-summations.md | 2 +- .../problem-77-prime-summations.md | 2 +- .../problem-78-coin-partitions.md | 44 +- .../problem-79-passcode-derivation.md | 2 +- .../problem-8-largest-product-in-a-series.md | 2 +- ...roblem-80-square-root-digital-expansion.md | 2 +- .../problem-81-path-sum-two-ways.md | 2 +- .../problem-82-path-sum-three-ways.md | 2 +- .../problem-83-path-sum-four-ways.md | 2 +- .../problem-84-monopoly-odds.md | 2 +- .../problem-85-counting-rectangles.md | 2 +- .../problem-86-cuboid-route.md | 2 +- .../problem-87-prime-power-triples.md | 2 +- .../problem-88-product-sum-numbers.md | 2 +- .../problem-89-roman-numerals.md | 2 +- .../problem-9-special-pythagorean-triplet.md | 4 +- .../problem-90-cube-digit-pairs.md | 2 +- ...ight-triangles-with-integer-coordinates.md | 6 +- .../problem-92-square-digit-chains.md | 2 +- .../problem-93-arithmetic-expressions.md | 2 +- ...problem-94-almost-equilateral-triangles.md | 2 +- .../problem-95-amicable-chains.md | 2 +- .../problem-96-su-doku.md | 2 +- .../problem-97-large-non-mersenne-prime.md | 2 +- .../problem-98-anagramic-squares.md | 2 +- .../problem-99-largest-exponential.md | 2 +- .../problem-101-optimum-polynomial.md | 2 +- .../problem-102-triangle-containment.md | 2 +- ...problem-103-special-subset-sums-optimum.md | 2 +- .../problem-104-pandigital-fibonacci-ends.md | 2 +- ...problem-105-special-subset-sums-testing.md | 2 +- ...em-106-special-subset-sums-meta-testing.md | 2 +- .../problem-107-minimal-network.md | 4 +- .../problem-108-diophantine-reciprocals-i.md | 2 +- .../problem-109-darts.md | 2 +- .../problem-110-diophantine-reciprocals-ii.md | 2 +- .../problem-111-primes-with-runs.md | 2 +- .../problem-112-bouncy-numbers.md | 2 +- .../problem-113-non-bouncy-numbers.md | 2 +- ...oblem-114-counting-block-combinations-i.md | 2 +- ...blem-115-counting-block-combinations-ii.md | 2 +- .../problem-116-red-green-or-blue-tiles.md | 2 +- .../problem-117-red-green-and-blue-tiles.md | 2 +- .../problem-118-pandigital-prime-sets.md | 2 +- .../problem-119-digit-power-sum.md | 2 +- .../problem-120-square-remainders.md | 2 +- .../problem-121-disc-game-prize-fund.md | 2 +- .../problem-122-efficient-exponentiation.md | 10 +- .../problem-123-prime-square-remainders.md | 2 +- .../problem-124-ordered-radicals.md | 2 +- .../problem-125-palindromic-sums.md | 79 + .../problem-126-cuboid-layers.md | 2 +- .../problem-127-abc-hits.md | 2 +- .../problem-128-hexagonal-tile-differences.md | 117 + .../problem-129-repunit-divisibility.md | 2 +- ...-composites-with-prime-repunit-property.md | 2 +- .../problem-131-prime-cube-partnership.md | 2 +- .../problem-132-large-repunit-factors.md | 2 +- .../problem-133-repunit-nonfactors.md | 2 +- .../problem-134-prime-pair-connection.md | 2 +- .../problem-135-same-differences.md | 2 +- .../problem-136-singleton-difference.md | 2 +- .../problem-137-fibonacci-golden-nuggets.md | 2 +- ...problem-138-special-isosceles-triangles.md | 2 +- .../problem-139-pythagorean-tiles.md | 2 +- ...m-140-modified-fibonacci-golden-nuggets.md | 2 +- ...ressive-numbers-n-which-are-also-square.md | 2 +- .../problem-142-perfect-square-collection.md | 2 +- ...ting-the-torricelli-point-of-a-triangle.md | 2 +- ...ng-multiple-reflections-of-a-laser-beam.md | 6 +- ...ble-numbers-are-there-below-one-billion.md | 2 +- ...oblem-146-investigating-a-prime-pattern.md | 2 +- ...m-147-rectangles-in-cross-hatched-grids.md | 4 +- .../problem-148-exploring-pascals-triangle.md | 4 +- ...searching-for-a-maximum-sum-subsequence.md | 2 +- ...y-for-a-sub-triangle-having-minimum-sum.md | 2 +- ...tandard-sizes-an-expected-value-problem.md | 2 +- ...ng-one-half-as-a-sum-of-inverse-squares.md | 2 +- ...lem-153-investigating-gaussian-integers.md | 2 +- .../problem-154-exploring-pascals-pyramid.md | 2 +- ...problem-155-counting-capacitor-circuits.md | 2 +- .../problem-156-counting-digits.md | 2 +- ...em-157-solving-the-diophantine-equation.md | 2 +- ...hically-after-its-neighbour-to-the-left.md | 2 +- ...159-digital-root-sums-of-factorisations.md | 2 +- .../problem-160-factorial-trailing-digits.md | 2 +- .../problem-161-triominoes.md | 2 +- .../problem-162-hexadecimal-numbers.md | 2 +- .../problem-163-cross-hatched-triangles.md | 2 +- ...s-have-a-sum-greater-than-a-given-value.md | 2 +- .../problem-165-intersections.md | 2 +- .../problem-166-criss-cross.md | 2 +- ...roblem-167-investigating-ulam-sequences.md | 2 +- .../problem-168-number-rotations.md | 82 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 2 +- ...can-be-formed-by-concatenating-products.md | 2 +- ...f-the-squares-of-the-digits-is-a-square.md | 2 +- ...gating-numbers-with-few-repeated-digits.md | 2 +- ...ent-hollow-square-laminae-can-be-formed.md | 2 +- ...one-two-three-...-distinct-arrangements.md | 2 +- ...an-be-expressed-as-a-sum-of-powers-of-2.md | 2 +- ...-angled-triangles-that-share-a-cathetus.md | 2 +- ...oblem-177-integer-angled-quadrilaterals.md | 2 +- .../problem-178-step-numbers.md | 2 +- ...oblem-179-consecutive-positive-divisors.md | 2 +- ...-zeros-of-a-function-of-three-variables.md | 2 +- ...of-two-different-colours-can-be-grouped.md | 2 +- .../problem-182-rsa-encryption.md | 2 +- .../problem-183-maximum-product-of-parts.md | 2 +- ...lem-184-triangles-containing-the-origin.md | 6 +- .../problem-185-number-mind.md | 2 +- .../problem-186-connectedness-of-a-network.md | 2 +- .../problem-187-semiprimes.md | 2 +- ...188-the-hyperexponentiation-of-a-number.md | 2 +- ...lem-189-tri-colouring-a-triangular-grid.md | 2 +- ...oblem-190-maximising-a-weighted-product.md | 2 +- .../problem-191-prize-strings.md | 4 +- .../problem-192-best-approximations.md | 2 +- .../problem-193-squarefree-numbers.md | 2 +- .../problem-194-coloured-configurations.md | 2 +- ...-triangles-with-one-angle-of-60-degrees.md | 2 +- .../problem-196-prime-triplets.md | 2 +- ...viour-of-a-recursively-defined-sequence.md | 2 +- .../problem-198-ambiguous-numbers.md | 2 +- .../problem-199-iterative-circle-packing.md | 2 +- ...ontaining-the-contiguous-sub-string-200.md | 2 +- .../problem-201-subsets-with-a-unique-sum.md | 2 +- .../problem-202-laserbeam.md | 2 +- ...em-203-squarefree-binomial-coefficients.md | 2 +- ...problem-204-generalised-hamming-numbers.md | 2 +- .../problem-205-dice-game.md | 2 +- .../problem-206-concealed-square.md | 63 + ...problem-207-integer-partition-equations.md | 2 +- .../problem-208-robot-walks.md | 2 +- .../problem-209-circular-logic.md | 2 +- .../problem-210-obtuse-angled-triangles.md | 2 +- .../problem-211-divisor-square-sum.md | 2 +- .../problem-212-combined-volume-of-cuboids.md | 2 +- .../problem-213-flea-circus.md | 2 +- .../problem-214-totient-chains.md | 2 +- .../problem-215-crack-free-walls.md | 2 +- ...-primality-of-numbers-of-the-form-2n2-1.md | 2 +- .../problem-217-balanced-numbers.md | 2 +- ...blem-218-perfect-right-angled-triangles.md | 2 +- .../problem-219-skew-cost-coding.md | 2 +- .../problem-220-heighway-dragon.md | 2 +- .../problem-221-alexandrian-integers.md | 2 +- .../problem-222-sphere-packing.md | 2 +- ...lem-223-almost-right-angled-triangles-i.md | 2 +- ...em-224-almost-right-angled-triangles-ii.md | 2 +- .../problem-225-tribonacci-non-divisors.md | 2 +- .../problem-226-a-scoop-of-blancmange.md | 2 +- .../problem-227-the-chase.md | 2 +- .../problem-228-minkowski-sums.md | 2 +- ...-229-four-representations-using-squares.md | 2 +- .../problem-230-fibonacci-words.md | 2 +- ...-factorisation-of-binomial-coefficients.md | 2 +- .../problem-232-the-race.md | 2 +- .../problem-233-lattice-points-on-a-circle.md | 2 +- .../problem-234-semidivisible-numbers.md | 2 +- ...em-235-an-arithmetic-geometric-sequence.md | 2 +- .../problem-236-luxury-hampers.md | 2 +- ...blem-237-tours-on-a-4-x-n-playing-board.md | 2 +- .../problem-238-infinite-string-tour.md | 2 +- .../problem-239-twenty-two-foolish-primes.md | 2 +- .../problem-240-top-dice.md | 2 +- .../problem-241-perfection-quotients.md | 2 +- .../problem-242-odd-triplets.md | 2 +- .../problem-243-resilience.md | 2 +- .../problem-244-sliders.md | 2 +- .../problem-245-coresilience.md | 2 +- .../problem-246-tangents-to-an-ellipse.md | 2 +- .../problem-247-squares-under-a-hyperbola.md | 4 +- ...which-eulers-totient-function-equals-13.md | 2 +- .../problem-249-prime-subset-sums.md | 2 +- .../problem-250-250250.md | 4 +- .../problem-251-cardano-triplets.md | 2 +- .../problem-252-convex-holes.md | 2 +- .../problem-253-tidying-up.md | 2 +- .../problem-254-sums-of-digit-factorials.md | 2 +- .../problem-255-rounded-square-roots.md | 2 +- .../problem-256-tatami-free-rooms.md | 4 +- .../problem-257-angular-bisectors.md | 4 +- ...problem-258-a-lagged-fibonacci-sequence.md | 2 +- .../problem-259-reachable-numbers.md | 2 +- .../problem-260-stone-game.md | 2 +- .../problem-261-pivotal-square-sums.md | 2 +- .../problem-262-mountain-range.md | 2 +- ...roblem-263-an-engineers-dream-come-true.md | 2 +- .../problem-264-triangle-centres.md | 2 +- .../problem-265-binary-circles.md | 2 +- .../problem-266-pseudo-square-root.md | 2 +- .../problem-267-billionaire.md | 2 +- ...ur-distinct-prime-factors-less-than-100.md | 2 +- ...ynomials-with-at-least-one-integer-root.md | 2 +- .../problem-270-cutting-squares.md | 2 +- .../problem-271-modular-cubes-part-1.md | 2 +- .../problem-272-modular-cubes-part-2.md | 2 +- .../problem-273-sum-of-squares.md | 2 +- .../problem-274-divisibility-multipliers.md | 2 +- .../problem-275-balanced-sculptures.md | 2 +- .../problem-276-primitive-triangles.md | 2 +- ...problem-277-a-modified-collatz-sequence.md | 2 +- ...m-278-linear-combinations-of-semiprimes.md | 2 +- ...th-integral-sides-and-an-integral-angle.md | 2 +- .../problem-280-ant-and-seeds.md | 2 +- .../problem-281-pizza-toppings.md | 2 +- .../problem-282-the-ackermann-function.md | 2 +- ...h-the-area--perimeter-ratio-is-integral.md | 2 +- .../problem-284-steady-squares.md | 2 +- .../problem-285-pythagorean-odds.md | 2 +- .../problem-286-scoring-probabilities.md | 2 +- ...encoding-a-simple-compression-algorithm.md | 2 +- .../problem-288-an-enormous-factorial.md | 2 +- .../problem-289-eulerian-cycles.md | 2 +- .../problem-290-digital-signature.md | 2 +- .../problem-291-panaitopol-primes.md | 2 +- .../problem-292-pythagorean-polygons.md | 2 +- .../problem-293-pseudo-fortunate-numbers.md | 2 +- ...oblem-294-sum-of-digits---experience-23.md | 2 +- .../problem-295-lenticular-holes.md | 2 +- ...roblem-296-angular-bisector-and-tangent.md | 2 +- .../problem-297-zeckendorf-representation.md | 2 +- .../problem-298-selective-amnesia.md | 2 +- .../problem-299-three-similar-triangles.md | 2 +- .../problem-300-protein-folding.md | 2 +- .../problem-301-nim.md | 2 +- .../problem-302-strong-achilles-numbers.md | 2 +- ...problem-303-multiples-with-small-digits.md | 2 +- .../problem-304-primonacci.md | 2 +- .../problem-305-reflexive-position.md | 2 +- .../problem-306-paper-strip-game.md | 2 +- .../problem-307-chip-defects.md | 2 +- ...8-an-amazing-prime-generating-automaton.md | 2 +- .../problem-309-integer-ladders.md | 2 +- .../problem-310-nim-square.md | 2 +- ...em-311-biclinic-integral-quadrilaterals.md | 2 +- ...em-312-cyclic-paths-on-sierpiski-graphs.md | 2 +- .../problem-313-sliding-game.md | 2 +- .../problem-314-the-mouse-on-the-moon.md | 4 +- .../problem-315-digital-root-clocks.md | 2 +- ...oblem-316-numbers-in-decimal-expansions.md | 2 +- .../problem-317-firecracker.md | 2 +- .../problem-318-2011-nines.md | 2 +- .../problem-319-bounded-sequences.md | 2 +- ...-factorials-divisible-by-a-huge-integer.md | 2 +- .../problem-321-swapping-counters.md | 2 +- ...2-binomial-coefficients-divisible-by-10.md | 2 +- ...itwise-or-operations-on-random-integers.md | 6 +- .../problem-324-building-a-tower.md | 2 +- .../problem-325-stone-game-ii.md | 2 +- .../problem-326-modulo-summations.md | 4 +- .../problem-327-rooms-of-doom.md | 2 +- .../problem-328-lowest-cost-search.md | 2 +- .../problem-329-prime-frog.md | 2 +- .../problem-330-eulers-number.md | 2 +- .../problem-331-cross-flips.md | 2 +- .../problem-332-spherical-triangles.md | 2 +- .../problem-333-special-partitions.md | 2 +- .../problem-334-spilling-the-beans.md | 4 +- .../problem-335-gathering-the-beans.md | 2 +- .../problem-336-maximix-arrangements.md | 2 +- ...problem-337-totient-stairstep-sequences.md | 2 +- ...blem-338-cutting-rectangular-grid-paper.md | 2 +- .../problem-339-peredur-fab-efrawg.md | 2 +- .../problem-340-crazy-function.md | 2 +- ...em-341-golombs-self-describing-sequence.md | 2 +- ...m-342-the-totient-of-a-square-is-a-cube.md | 2 +- .../problem-343-fractional-sequences.md | 2 +- .../problem-344-silver-dollar-game.md | 2 +- .../problem-345-matrix-sum.md | 2 +- .../problem-346-strong-repunits.md | 2 +- ...largest-integer-divisible-by-two-primes.md | 2 +- .../problem-348-sum-of-a-square-and-a-cube.md | 2 +- .../problem-349-langtons-ant.md | 2 +- ...e-least-greatest-and-the-greatest-least.md | 2 +- .../problem-351-hexagonal-orchards.md | 2 +- .../problem-352-blood-tests.md | 2 +- .../problem-353-risky-moon.md | 2 +- ...oblem-354-distances-in-a-bees-honeycomb.md | 2 +- .../problem-355-maximal-coprime-subset.md | 2 +- ...-356-largest-roots-of-cubic-polynomials.md | 4 +- .../problem-357-prime-generating-integers.md | 2 +- .../problem-358-cyclic-numbers.md | 2 +- .../problem-359-hilberts-new-hotel.md | 2 +- .../problem-360-scary-sphere.md | 2 +- ...-361-subsequence-of-thue-morse-sequence.md | 2 +- .../problem-362-squarefree-factors.md | 2 +- .../problem-363-bzier-curves.md | 2 +- .../problem-364-comfortable-distance.md | 2 +- ...problem-365-a-huge-binomial-coefficient.md | 2 +- .../problem-366-stone-game-iii.md | 2 +- .../problem-367-bozo-sort.md | 2 +- .../problem-368-a-kempner-like-series.md | 2 +- .../problem-369-badugi.md | 2 +- .../problem-370-geometric-triangles.md | 2 +- .../problem-371-licence-plates.md | 4 +- .../problem-372-pencils-of-rays.md | 2 +- .../problem-373-circumscribed-circles.md | 2 +- ...m-374-maximum-integer-partition-product.md | 2 +- .../problem-375-minimum-of-subsequences.md | 2 +- .../problem-376-nontransitive-sets-of-dice.md | 2 +- ...problem-377-sum-of-digits-experience-13.md | 2 +- .../problem-378-triangle-triples.md | 2 +- ...problem-379-least-common-multiple-count.md | 2 +- .../problem-380-amazing-mazes.md | 2 +- .../problem-381-prime-k-factorial.md | 2 +- .../problem-382-generating-polygons.md | 2 +- ...isibility-comparison-between-factorials.md | 2 +- .../problem-384-rudin-shapiro-sequence.md | 2 +- .../problem-385-ellipses-inside-triangles.md | 4 +- ...blem-386-maximum-length-of-an-antichain.md | 2 +- .../problem-387-harshad-numbers.md | 2 +- .../problem-388-distinct-lines.md | 2 +- .../problem-389-platonic-dice.md | 2 +- ...th-non-rational-sides-and-integral-area.md | 2 +- .../problem-391-hopping-game.md | 2 +- .../problem-392-enmeshed-unit-circle.md | 2 +- .../problem-393-migrating-ants.md | 2 +- .../problem-394-eating-pie.md | 2 +- .../problem-395-pythagorean-tree.md | 2 +- .../problem-396-weak-goodstein-sequence.md | 2 +- .../problem-397-triangle-on-parabola.md | 2 +- .../problem-398-cutting-rope.md | 2 +- ...roblem-399-squarefree-fibonacci-numbers.md | 2 +- .../problem-400-fibonacci-tree-game.md | 2 +- .../problem-401-sum-of-squares-of-divisors.md | 2 +- .../problem-402-integer-valued-polynomials.md | 2 +- ...ce-points-enclosed-by-parabola-and-line.md | 2 +- .../problem-404-crisscross-ellipses.md | 2 +- .../problem-405-a-rectangular-tiling.md | 2 +- .../problem-406-guessing-game.md | 2 +- .../problem-407-idempotents.md | 2 +- ...lem-408-admissible-paths-through-a-grid.md | 2 +- .../problem-409-nim-extreme.md | 2 +- .../problem-410-circle-and-tangent-line.md | 2 +- .../problem-411-uphill-paths.md | 2 +- .../problem-412-gnomon-numbering.md | 2 +- .../problem-413-one-child-numbers.md | 2 +- .../problem-414-kaprekar-constant.md | 6 +- .../problem-415-titanic-sets.md | 2 +- .../problem-416-a-frogs-trip.md | 2 +- .../problem-417-reciprocal-cycles-ii.md | 2 +- .../problem-418-factorisation-triples.md | 2 +- .../problem-419-look-and-say-sequence.md | 2 +- ...problem-420-2x2-positive-integer-matrix.md | 2 +- .../problem-421-prime-factors-of-n151.md | 4 +- ...m-422-sequence-of-points-on-a-hyperbola.md | 2 +- .../problem-423-consecutive-die-throws.md | 2 +- .../problem-424-kakuro.md | 2 +- .../problem-425-prime-connection.md | 2 +- .../problem-426-box-ball-system.md | 2 +- .../problem-427-n-sequences.md | 2 +- .../problem-428-necklace-of-circles.md | 2 +- ...-429-sum-of-squares-of-unitary-divisors.md | 2 +- .../problem-430-range-flips.md | 2 +- .../problem-431-square-space-silo.md | 2 +- .../problem-432-totient-sum.md | 2 +- .../problem-433-steps-in-euclids-algorithm.md | 2 +- .../problem-434-rigid-graphs.md | 2 +- ...em-435-polynomials-of-fibonacci-numbers.md | 2 +- .../problem-436-unfair-wager.md | 2 +- .../problem-437-fibonacci-primitive-roots.md | 2 +- ...-part-of-polynomial-equations-solutions.md | 4 +- .../problem-439-sum-of-sum-of-divisors.md | 2 +- .../problem-440-gcd-and-tiling.md | 2 +- ...he-inverse-summation-of-coprime-couples.md | 2 +- .../problem-442-eleven-free-integers.md | 2 +- .../problem-443-gcd-sequence.md | 2 +- .../problem-444-the-roundtable-lottery.md | 2 +- .../problem-445-retractions-a.md | 2 +- .../problem-446-retractions-b.md | 2 +- .../problem-447-retractions-c.md | 2 +- ...oblem-448-average-least-common-multiple.md | 2 +- .../problem-449-chocolate-covered-candy.md | 2 +- ...blem-450-hypocycloid-and-lattice-points.md | 4 +- .../problem-451-modular-inverses.md | 2 +- .../problem-452-long-products.md | 2 +- .../problem-453-lattice-quadrilaterals.md | 2 +- ...problem-454-diophantine-reciprocals-iii.md | 2 +- ...problem-455-powers-with-trailing-digits.md | 2 +- ...-456-triangles-containing-the-origin-ii.md | 2 +- ...polynomial-modulo-the-square-of-a-prime.md | 2 +- .../problem-458-permutations-of-project.md | 2 +- .../problem-459-flipping-game.md | 2 +- .../problem-460-an-ant-on-the-move.md | 2 +- .../problem-461-almost-pi.md | 2 +- ...lem-462-permutation-of-3-smooth-numbers.md | 2 +- ...problem-463-a-weird-recurrence-relation.md | 2 +- ...roblem-464-mbius-function-and-intervals.md | 2 +- .../problem-465-polar-polygons.md | 2 +- ...istinct-terms-in-a-multiplication-table.md | 2 +- .../problem-467-superinteger.md | 2 +- ...mooth-divisors-of-binomial-coefficients.md | 2 +- .../problem-469-empty-chairs.md | 2 +- .../problem-470-super-ramvok.md | 2 +- ...oblem-471-triangle-inscribed-in-ellipse.md | 2 +- .../problem-472-comfortable-distance-ii.md | 2 +- .../problem-473-phigital-number-base.md | 4 +- .../problem-474-last-digits-of-divisors.md | 2 +- .../problem-475-music-festival.md | 2 +- .../problem-476-circle-packing-ii.md | 2 +- .../problem-477-number-sequence-game.md | 2 +- .../problem-478-mixtures.md | 2 +- .../problem-479-roots-on-the-rise.md | 2 +- .../problem-480-the-last-question.md | 2 +- freecodecamp.conf.json | 38 + package-lock.json | 5567 ++--------------- package.json | 17 +- project-euler-problems-1-to-100/Cargo.toml | 12 + project-euler-problems-1-to-100/src/lib.rs | 9 + .../Cargo.toml | 2 +- project-euler-problems-101-to-200/src/main.rs | 9 + project-euler-problems-201-to-300/Cargo.toml | 12 + project-euler-problems-201-to-300/src/main.rs | 9 + project-euler-problems-301-to-400/Cargo.toml | 12 + project-euler-problems-301-to-400/src/main.rs | 9 + project-euler-problems-401-to-480/Cargo.toml | 12 + project-euler-problems-401-to-480/src/main.rs | 9 + src/lib.rs | 15 - tooling/adjust-url.js | 37 + tooling/helpers.js | 24 + tooling/transform.js | 78 + webpack.config.js | 15 - 551 files changed, 17553 insertions(+), 12698 deletions(-) delete mode 100644 .devcontainer/freeCodeCamp.freecodecamp-dark-vscode-theme-0.1.0.vsix delete mode 100644 .freeCodeCamp/.eslintignore delete mode 100644 .freeCodeCamp/.eslintrc.json delete mode 100644 .freeCodeCamp/.prettierignore delete mode 100644 .freeCodeCamp/.prettierrc delete mode 100644 .freeCodeCamp/freecodecamp.conf.json delete mode 100644 .freeCodeCamp/output/index.html delete mode 100644 .freeCodeCamp/output/index.js delete mode 100644 .freeCodeCamp/output/prism.css delete mode 100644 .freeCodeCamp/output/prism.js delete mode 100644 .freeCodeCamp/output/styles.css delete mode 100644 .freeCodeCamp/package-lock.json delete mode 100644 .freeCodeCamp/package.json delete mode 100644 .freeCodeCamp/sample.env delete mode 100644 .freeCodeCamp/tooling/client-socks.js delete mode 100644 .freeCodeCamp/tooling/env.js delete mode 100644 .freeCodeCamp/tooling/lesson.js delete mode 100644 .freeCodeCamp/tooling/locales/conf.js delete mode 100644 .freeCodeCamp/tooling/locales/english/comments.json delete mode 100644 .freeCodeCamp/tooling/locales/english/project-1.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-1-multiples-of-3-and-5.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-125-palindromic-sums.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-128-hexagonal-tile-differences.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-168-number-rotations.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-18-maximum-path-sum-i.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-206-concealed-square.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-36-double-base-palindromes.md delete mode 100644 .freeCodeCamp/tooling/locales/english/project-euler/problem-51-prime-digit-replacements.md delete mode 100644 .freeCodeCamp/tooling/parser.js delete mode 100644 .freeCodeCamp/tooling/server.js delete mode 100644 .freeCodeCamp/tooling/t.js delete mode 100644 .freeCodeCamp/tooling/test-utils.js delete mode 100644 .freeCodeCamp/tooling/test.js delete mode 100644 .github/workflows/linter.yml delete mode 100644 .logs/.bash_history delete mode 100644 .logs/.cwd delete mode 100644 .logs/.next_command delete mode 100644 .logs/.temp.log delete mode 100644 .logs/.terminal-out.log delete mode 100644 Cargo.lock create mode 100644 config/projects.json create mode 100644 config/state.json create mode 100644 curriculum/locales/english/project-euler-problems-1-to-100.md create mode 100644 curriculum/locales/english/project-euler-problems-101-to-200.md create mode 100644 curriculum/locales/english/project-euler-problems-201-to-300.md create mode 100644 curriculum/locales/english/project-euler-problems-301-to-400.md create mode 100644 curriculum/locales/english/project-euler-problems-401-to-480.md create mode 100644 curriculum/project-euler/project-euler-problems-1-to-100/problem-1-multiples-of-3-or-5.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-10-summation-of-primes.md (51%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-100-arranged-probability.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-11-largest-product-in-a-grid.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-12-highly-divisible-triangular-number.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-13-large-sum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-14-longest-collatz-sequence.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-15-lattice-paths.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-16-power-digit-sum.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-17-number-letter-counts.md (99%) create mode 100644 curriculum/project-euler/project-euler-problems-1-to-100/problem-18-maximum-path-sum-i.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-19-counting-sundays.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-2-even-fibonacci-numbers.md (96%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-20-factorial-digit-sum.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-21-amicable-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-22-names-scores.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-23-non-abundant-sums.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-24-lexicographic-permutations.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-25-1000-digit-fibonacci-number.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-26-reciprocal-cycles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-27-quadratic-primes.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-28-number-spiral-diagonals.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-29-distinct-powers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-3-largest-prime-factor.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-30-digit-n-powers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-31-coin-sums.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-32-pandigital-products.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-33-digit-cancelling-fractions.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-34-digit-factorials.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-35-circular-primes.md (99%) create mode 100644 curriculum/project-euler/project-euler-problems-1-to-100/problem-36-double-base-palindromes.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-37-truncatable-primes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-38-pandigital-multiples.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-39-integer-right-triangles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-4-largest-palindrome-product.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-40-champernownes-constant.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-41-pandigital-prime.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-42-coded-triangle-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-43-sub-string-divisibility.md (92%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-44-pentagon-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-45-triangular-pentagonal-and-hexagonal.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-46-goldbachs-other-conjecture.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-47-distinct-primes-factors.md (64%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-48-self-powers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-49-prime-permutations.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-5-smallest-multiple.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-50-consecutive-prime-sum.md (57%) create mode 100644 curriculum/project-euler/project-euler-problems-1-to-100/problem-51-prime-digit-replacements.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-52-permuted-multiples.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-53-combinatoric-selections.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-54-poker-hands.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-55-lychrel-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-56-powerful-digit-sum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-57-square-root-convergents.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-58-spiral-primes.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-59-xor-decryption.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-6-sum-square-difference.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-60-prime-pair-sets.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-61-cyclical-figurate-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-62-cubic-permutations.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-63-powerful-digit-counts.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-64-odd-period-square-roots.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-65-convergents-of-e.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-66-diophantine-equation.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-67-maximum-path-sum-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-68-magic-5-gon-ring.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-69-totient-maximum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-7-10001st-prime.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-70-totient-permutation.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-71-ordered-fractions.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-72-counting-fractions.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-73-counting-fractions-in-a-range.md (56%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-74-digit-factorial-chains.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-75-singular-integer-right-triangles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-76-counting-summations.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-77-prime-summations.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-78-coin-partitions.md (64%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-79-passcode-derivation.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-8-largest-product-in-a-series.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-80-square-root-digital-expansion.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-81-path-sum-two-ways.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-82-path-sum-three-ways.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-83-path-sum-four-ways.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-84-monopoly-odds.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-85-counting-rectangles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-86-cuboid-route.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-87-prime-power-triples.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-88-product-sum-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-89-roman-numerals.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-9-special-pythagorean-triplet.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-90-cube-digit-pairs.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-91-right-triangles-with-integer-coordinates.md (93%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-92-square-digit-chains.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-93-arithmetic-expressions.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-94-almost-equilateral-triangles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-95-amicable-chains.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-96-su-doku.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-97-large-non-mersenne-prime.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-98-anagramic-squares.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-1-to-100}/problem-99-largest-exponential.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-101-optimum-polynomial.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-102-triangle-containment.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-103-special-subset-sums-optimum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-104-pandigital-fibonacci-ends.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-105-special-subset-sums-testing.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-106-special-subset-sums-meta-testing.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-107-minimal-network.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-108-diophantine-reciprocals-i.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-109-darts.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-110-diophantine-reciprocals-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-111-primes-with-runs.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-112-bouncy-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-113-non-bouncy-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-114-counting-block-combinations-i.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-115-counting-block-combinations-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-116-red-green-or-blue-tiles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-117-red-green-and-blue-tiles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-118-pandigital-prime-sets.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-119-digit-power-sum.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-120-square-remainders.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-121-disc-game-prize-fund.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-122-efficient-exponentiation.md (85%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-123-prime-square-remainders.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-124-ordered-radicals.md (99%) create mode 100644 curriculum/project-euler/project-euler-problems-101-to-200/problem-125-palindromic-sums.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-126-cuboid-layers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-127-abc-hits.md (98%) create mode 100644 curriculum/project-euler/project-euler-problems-101-to-200/problem-128-hexagonal-tile-differences.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-129-repunit-divisibility.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-130-composites-with-prime-repunit-property.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-131-prime-cube-partnership.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-132-large-repunit-factors.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-133-repunit-nonfactors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-134-prime-pair-connection.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-135-same-differences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-136-singleton-difference.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-137-fibonacci-golden-nuggets.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-138-special-isosceles-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-139-pythagorean-tiles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-140-modified-fibonacci-golden-nuggets.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-141-investigating-progressive-numbers-n-which-are-also-square.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-142-perfect-square-collection.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-143-investigating-the-torricelli-point-of-a-triangle.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-144-investigating-multiple-reflections-of-a-laser-beam.md (86%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-145-how-many-reversible-numbers-are-there-below-one-billion.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-146-investigating-a-prime-pattern.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-147-rectangles-in-cross-hatched-grids.md (94%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-148-exploring-pascals-triangle.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-149-searching-for-a-maximum-sum-subsequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-152-writing-one-half-as-a-sum-of-inverse-squares.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-153-investigating-gaussian-integers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-154-exploring-pascals-pyramid.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-155-counting-capacitor-circuits.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-156-counting-digits.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-157-solving-the-diophantine-equation.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-159-digital-root-sums-of-factorisations.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-160-factorial-trailing-digits.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-161-triominoes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-162-hexadecimal-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-163-cross-hatched-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-165-intersections.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-166-criss-cross.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-167-investigating-ulam-sequences.md (98%) create mode 100644 curriculum/project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-172-investigating-numbers-with-few-repeated-digits.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-...-distinct-arrangements.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-176-right-angled-triangles-that-share-a-cathetus.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-177-integer-angled-quadrilaterals.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-178-step-numbers.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-179-consecutive-positive-divisors.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-180-rational-zeros-of-a-function-of-three-variables.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-182-rsa-encryption.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-183-maximum-product-of-parts.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-184-triangles-containing-the-origin.md (90%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-185-number-mind.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-186-connectedness-of-a-network.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-187-semiprimes.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-188-the-hyperexponentiation-of-a-number.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-189-tri-colouring-a-triangular-grid.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-190-maximising-a-weighted-product.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-191-prize-strings.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-192-best-approximations.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-193-squarefree-numbers.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-194-coloured-configurations.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-196-prime-triplets.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-198-ambiguous-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-199-iterative-circle-packing.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-101-to-200}/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-201-subsets-with-a-unique-sum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-202-laserbeam.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-203-squarefree-binomial-coefficients.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-204-generalised-hamming-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-205-dice-game.md (97%) create mode 100644 curriculum/project-euler/project-euler-problems-201-to-300/problem-206-concealed-square.md rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-207-integer-partition-equations.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-208-robot-walks.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-209-circular-logic.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-210-obtuse-angled-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-211-divisor-square-sum.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-212-combined-volume-of-cuboids.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-213-flea-circus.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-214-totient-chains.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-215-crack-free-walls.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-217-balanced-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-218-perfect-right-angled-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-219-skew-cost-coding.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-220-heighway-dragon.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-221-alexandrian-integers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-222-sphere-packing.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-223-almost-right-angled-triangles-i.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-224-almost-right-angled-triangles-ii.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-225-tribonacci-non-divisors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-226-a-scoop-of-blancmange.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-227-the-chase.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-228-minkowski-sums.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-229-four-representations-using-squares.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-230-fibonacci-words.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-231-the-prime-factorisation-of-binomial-coefficients.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-232-the-race.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-233-lattice-points-on-a-circle.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-234-semidivisible-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-235-an-arithmetic-geometric-sequence.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-236-luxury-hampers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-237-tours-on-a-4-x-n-playing-board.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-238-infinite-string-tour.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-239-twenty-two-foolish-primes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-240-top-dice.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-241-perfection-quotients.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-242-odd-triplets.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-243-resilience.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-244-sliders.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-245-coresilience.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-246-tangents-to-an-ellipse.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-247-squares-under-a-hyperbola.md (94%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-248-numbers-for-which-eulers-totient-function-equals-13.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-249-prime-subset-sums.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-250-250250.md (67%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-251-cardano-triplets.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-252-convex-holes.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-253-tidying-up.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-254-sums-of-digit-factorials.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-255-rounded-square-roots.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-256-tatami-free-rooms.md (89%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-257-angular-bisectors.md (95%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-258-a-lagged-fibonacci-sequence.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-259-reachable-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-260-stone-game.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-261-pivotal-square-sums.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-262-mountain-range.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-263-an-engineers-dream-come-true.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-264-triangle-centres.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-265-binary-circles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-266-pseudo-square-root.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-267-billionaire.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-269-polynomials-with-at-least-one-integer-root.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-270-cutting-squares.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-271-modular-cubes-part-1.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-272-modular-cubes-part-2.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-273-sum-of-squares.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-274-divisibility-multipliers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-275-balanced-sculptures.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-276-primitive-triangles.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-277-a-modified-collatz-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-278-linear-combinations-of-semiprimes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-279-triangles-with-integral-sides-and-an-integral-angle.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-280-ant-and-seeds.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-281-pizza-toppings.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-282-the-ackermann-function.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-284-steady-squares.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-285-pythagorean-odds.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-286-scoring-probabilities.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-287-quadtree-encoding-a-simple-compression-algorithm.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-288-an-enormous-factorial.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-289-eulerian-cycles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-290-digital-signature.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-291-panaitopol-primes.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-292-pythagorean-polygons.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-293-pseudo-fortunate-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-294-sum-of-digits---experience-23.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-295-lenticular-holes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-296-angular-bisector-and-tangent.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-297-zeckendorf-representation.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-298-selective-amnesia.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-299-three-similar-triangles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-201-to-300}/problem-300-protein-folding.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-301-nim.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-302-strong-achilles-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-303-multiples-with-small-digits.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-304-primonacci.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-305-reflexive-position.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-306-paper-strip-game.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-307-chip-defects.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-308-an-amazing-prime-generating-automaton.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-309-integer-ladders.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-310-nim-square.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-311-biclinic-integral-quadrilaterals.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-312-cyclic-paths-on-sierpiski-graphs.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-313-sliding-game.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-314-the-mouse-on-the-moon.md (90%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-315-digital-root-clocks.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-316-numbers-in-decimal-expansions.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-317-firecracker.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-318-2011-nines.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-319-bounded-sequences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-320-factorials-divisible-by-a-huge-integer.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-321-swapping-counters.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-322-binomial-coefficients-divisible-by-10.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-323-bitwise-or-operations-on-random-integers.md (91%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-324-building-a-tower.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-325-stone-game-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-326-modulo-summations.md (84%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-327-rooms-of-doom.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-328-lowest-cost-search.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-329-prime-frog.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-330-eulers-number.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-331-cross-flips.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-332-spherical-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-333-special-partitions.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-334-spilling-the-beans.md (89%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-335-gathering-the-beans.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-336-maximix-arrangements.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-337-totient-stairstep-sequences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-338-cutting-rectangular-grid-paper.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-339-peredur-fab-efrawg.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-340-crazy-function.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-341-golombs-self-describing-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-342-the-totient-of-a-square-is-a-cube.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-343-fractional-sequences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-344-silver-dollar-game.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-345-matrix-sum.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-346-strong-repunits.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-347-largest-integer-divisible-by-two-primes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-348-sum-of-a-square-and-a-cube.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-349-langtons-ant.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-350-constraining-the-least-greatest-and-the-greatest-least.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-351-hexagonal-orchards.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-352-blood-tests.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-353-risky-moon.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-354-distances-in-a-bees-honeycomb.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-355-maximal-coprime-subset.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-356-largest-roots-of-cubic-polynomials.md (87%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-357-prime-generating-integers.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-358-cyclic-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-359-hilberts-new-hotel.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-360-scary-sphere.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-361-subsequence-of-thue-morse-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-362-squarefree-factors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-363-bzier-curves.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-364-comfortable-distance.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-365-a-huge-binomial-coefficient.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-366-stone-game-iii.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-367-bozo-sort.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-368-a-kempner-like-series.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-369-badugi.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-370-geometric-triangles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-371-licence-plates.md (93%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-372-pencils-of-rays.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-373-circumscribed-circles.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-374-maximum-integer-partition-product.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-375-minimum-of-subsequences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-376-nontransitive-sets-of-dice.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-377-sum-of-digits-experience-13.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-378-triangle-triples.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-379-least-common-multiple-count.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-380-amazing-mazes.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-381-prime-k-factorial.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-382-generating-polygons.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-383-divisibility-comparison-between-factorials.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-384-rudin-shapiro-sequence.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-385-ellipses-inside-triangles.md (89%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-386-maximum-length-of-an-antichain.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-387-harshad-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-388-distinct-lines.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-389-platonic-dice.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-390-triangles-with-non-rational-sides-and-integral-area.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-391-hopping-game.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-392-enmeshed-unit-circle.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-393-migrating-ants.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-394-eating-pie.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-395-pythagorean-tree.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-396-weak-goodstein-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-397-triangle-on-parabola.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-398-cutting-rope.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-399-squarefree-fibonacci-numbers.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-301-to-400}/problem-400-fibonacci-tree-game.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-401-sum-of-squares-of-divisors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-402-integer-valued-polynomials.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-403-lattice-points-enclosed-by-parabola-and-line.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-404-crisscross-ellipses.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-405-a-rectangular-tiling.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-406-guessing-game.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-407-idempotents.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-408-admissible-paths-through-a-grid.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-409-nim-extreme.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-410-circle-and-tangent-line.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-411-uphill-paths.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-412-gnomon-numbering.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-413-one-child-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-414-kaprekar-constant.md (96%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-415-titanic-sets.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-416-a-frogs-trip.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-417-reciprocal-cycles-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-418-factorisation-triples.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-419-look-and-say-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-420-2x2-positive-integer-matrix.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-421-prime-factors-of-n151.md (93%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-422-sequence-of-points-on-a-hyperbola.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-423-consecutive-die-throws.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-424-kakuro.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-425-prime-connection.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-426-box-ball-system.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-427-n-sequences.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-428-necklace-of-circles.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-429-sum-of-squares-of-unitary-divisors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-430-range-flips.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-431-square-space-silo.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-432-totient-sum.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-433-steps-in-euclids-algorithm.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-434-rigid-graphs.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-435-polynomials-of-fibonacci-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-436-unfair-wager.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-437-fibonacci-primitive-roots.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-438-integer-part-of-polynomial-equations-solutions.md (95%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-439-sum-of-sum-of-divisors.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-440-gcd-and-tiling.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-441-the-inverse-summation-of-coprime-couples.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-442-eleven-free-integers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-443-gcd-sequence.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-444-the-roundtable-lottery.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-445-retractions-a.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-446-retractions-b.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-447-retractions-c.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-448-average-least-common-multiple.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-449-chocolate-covered-candy.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-450-hypocycloid-and-lattice-points.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-451-modular-inverses.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-452-long-products.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-453-lattice-quadrilaterals.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-454-diophantine-reciprocals-iii.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-455-powers-with-trailing-digits.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-456-triangles-containing-the-origin-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-457-a-polynomial-modulo-the-square-of-a-prime.md (97%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-458-permutations-of-project.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-459-flipping-game.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-460-an-ant-on-the-move.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-461-almost-pi.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-462-permutation-of-3-smooth-numbers.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-463-a-weird-recurrence-relation.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-464-mbius-function-and-intervals.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-465-polar-polygons.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-466-distinct-terms-in-a-multiplication-table.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-467-superinteger.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-468-smooth-divisors-of-binomial-coefficients.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-469-empty-chairs.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-470-super-ramvok.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-471-triangle-inscribed-in-ellipse.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-472-comfortable-distance-ii.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-473-phigital-number-base.md (93%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-474-last-digits-of-divisors.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-475-music-festival.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-476-circle-packing-ii.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-477-number-sequence-game.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-478-mixtures.md (99%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-479-roots-on-the-rise.md (98%) rename {.freeCodeCamp/tooling/locales/english/project-euler => curriculum/project-euler/project-euler-problems-401-to-480}/problem-480-the-last-question.md (99%) create mode 100644 freecodecamp.conf.json create mode 100644 project-euler-problems-1-to-100/Cargo.toml create mode 100644 project-euler-problems-1-to-100/src/lib.rs rename Cargo.toml => project-euler-problems-101-to-200/Cargo.toml (83%) create mode 100644 project-euler-problems-101-to-200/src/main.rs create mode 100644 project-euler-problems-201-to-300/Cargo.toml create mode 100644 project-euler-problems-201-to-300/src/main.rs create mode 100644 project-euler-problems-301-to-400/Cargo.toml create mode 100644 project-euler-problems-301-to-400/src/main.rs create mode 100644 project-euler-problems-401-to-480/Cargo.toml create mode 100644 project-euler-problems-401-to-480/src/main.rs delete mode 100644 src/lib.rs create mode 100644 tooling/adjust-url.js create mode 100644 tooling/helpers.js create mode 100644 tooling/transform.js delete mode 100644 webpack.config.js diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index b739c52..244cb1e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,13 +3,17 @@ "vscode": { "extensions": [ "dbaeumer.vscode-eslint", - "freeCodeCamp.freecodecamp-courses@1.1.1", + "freeCodeCamp.freecodecamp-courses@3.0.0", "freeCodeCamp.freecodecamp-dark-vscode-theme" ] } }, "forwardPorts": [8080], - "workspaceFolder": "/home/camper/curriculum", + "workspaceFolder": "/workspace/euler-rust", "dockerFile": "../Dockerfile", - "context": ".." + "context": "..", + "updateRemoteUserUID": false, + "remoteUser": "gitpod", + "containerUser": "gitpod", + "postCreateCommand": "node tooling/adjust-url.js" } diff --git a/.devcontainer/freeCodeCamp.freecodecamp-dark-vscode-theme-0.1.0.vsix b/.devcontainer/freeCodeCamp.freecodecamp-dark-vscode-theme-0.1.0.vsix deleted file mode 100644 index 52470e0550c97b0f15578dcfe0a5bde35653de22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567437 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