pub(crate) fn target_ratios(min_tiles: u32, max_tiles: u32) -> &'static [(u32, u32)] {
match (min_tiles, max_tiles) {
(1, 1) => &[(1, 1)],
(1, 2) => &[(1, 1), (1, 2), (2, 1)],
(1, 3) => &[(1, 1), (1, 2), (2, 1), (3, 1), (1, 3)],
(1, 4) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
],
(1, 5) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
],
(1, 6) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
],
(1, 7) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
],
(1, 8) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
],
(1, 9) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
],
(1, 10) => &[
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
(2, 5),
(5, 2),
(10, 1),
(1, 10),
],
(2, 2) => &[(1, 2), (2, 1)],
(2, 3) => &[(1, 2), (2, 1), (3, 1), (1, 3)],
(2, 4) => &[(1, 2), (2, 1), (3, 1), (1, 3), (4, 1), (1, 4), (2, 2)],
(2, 5) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
],
(2, 6) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
],
(2, 7) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
],
(2, 8) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
],
(2, 9) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
],
(2, 10) => &[
(1, 2),
(2, 1),
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
(2, 5),
(5, 2),
(10, 1),
(1, 10),
],
(3, 3) => &[(3, 1), (1, 3)],
(3, 4) => &[(1, 3), (3, 1), (1, 4), (2, 2), (4, 1)],
(3, 5) => &[(1, 3), (3, 1), (1, 4), (2, 2), (4, 1), (1, 5), (5, 1)],
(3, 6) => &[
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
],
(3, 7) => &[
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
],
(3, 8) => &[
(3, 1),
(1, 3),
(4, 1),
(1, 4),
(2, 2),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(1, 8),
(8, 1),
(4, 2),
],
(3, 9) => &[
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
],
(3, 10) => &[
(3, 1),
(1, 3),
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
(2, 5),
(5, 2),
(10, 1),
(1, 10),
],
(4, 4) => &[(4, 1), (1, 4), (2, 2)],
(4, 5) => &[(1, 4), (2, 2), (4, 1), (1, 5), (5, 1)],
(4, 6) => &[
(1, 4),
(2, 2),
(4, 1),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
],
(4, 7) => &[
(1, 4),
(2, 2),
(4, 1),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
],
(4, 8) => &[
(1, 4),
(2, 2),
(4, 1),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
],
(4, 9) => &[
(1, 4),
(2, 2),
(4, 1),
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
],
(4, 10) => &[
(2, 2),
(4, 1),
(1, 4),
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
(2, 5),
(5, 2),
(10, 1),
(1, 10),
],
(5, 5) => &[(5, 1), (1, 5)],
(5, 6) => &[(1, 5), (5, 1), (6, 1), (2, 3), (1, 6), (3, 2)],
(5, 7) => &[
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
],
(5, 8) => &[
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
],
(5, 9) => &[
(1, 5),
(5, 1),
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
],
(5, 10) => &[
(5, 1),
(1, 5),
(1, 6),
(6, 1),
(3, 2),
(2, 3),
(7, 1),
(1, 7),
(4, 2),
(2, 4),
(1, 8),
(8, 1),
(1, 9),
(3, 3),
(9, 1),
(2, 5),
(5, 2),
(10, 1),
(1, 10),
],
(6, 6) => &[(2, 3), (1, 6), (3, 2), (6, 1)],
(6, 7) => &[(6, 1), (2, 3), (1, 6), (3, 2), (7, 1), (1, 7)],
(6, 8) => &[
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
],
(6, 9) => &[
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
],
(6, 10) => &[
(6, 1),
(2, 3),
(1, 6),
(3, 2),
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(9, 1),
(3, 3),
(1, 9),
(10, 1),
(1, 10),
(2, 5),
(5, 2),
],
(7, 7) => &[(1, 7), (7, 1)],
(7, 8) => &[(7, 1), (1, 7), (2, 4), (8, 1), (1, 8), (4, 2)],
(7, 9) => &[
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
],
(7, 10) => &[
(7, 1),
(1, 7),
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
(10, 1),
(1, 10),
(2, 5),
(5, 2),
],
(8, 8) => &[(2, 4), (1, 8), (4, 2), (8, 1)],
(8, 9) => &[(2, 4), (8, 1), (1, 8), (4, 2), (3, 3), (9, 1), (1, 9)],
(8, 10) => &[
(2, 4),
(8, 1),
(1, 8),
(4, 2),
(3, 3),
(9, 1),
(1, 9),
(10, 1),
(1, 10),
(2, 5),
(5, 2),
],
(9, 9) => &[(9, 1), (3, 3), (1, 9)],
(9, 10) => &[(3, 3), (9, 1), (1, 9), (10, 1), (1, 10), (2, 5), (5, 2)],
(10, 10) => &[(2, 5), (10, 1), (1, 10), (5, 2)],
_ => &[], }
}