If you want your skills to be sharp, you practice. If you want to get yourself to actually do practice, you call it a “challenge”. This is what the Advent of Code is.
Now let me be perfectly clear about how I feel about practice. I saw Jeremiah’s (b|t) post on this and ignored it. Then I saw Steve Jones’s (b|t) post and ignored it. Then I saw Andy Warren’s (b|t) post on it that also contained the answer, so I took a look.
It was intriguing and refreshing to have a question like that asked. The refreshing part was all the requirements were all there in one place.
The intriguing part was me sitting there asking myself how I’d answer that question, realizing I would have done SOOO much more work than Andy. However, I had to read Andy’s answer 3 times for me to realize I wasn’t able to read it, which increase my level of intrigue. I rewrote it adding in some legibility for my sake and posted it on his comments.
Now there’s more to it. I cheated. I only rewrote someone else’s answer and didn’t really do the work. Yeah, that’s what half of computer science is, copy/paste others work intelligently, add just enough to call it your own, then ask for a raise. However, could I do one on my own?
Well, there’s 25 days on the Advent calendars I’m used to, and this one is no different. So I tried it out on Day 2.
SPOILER ALERT: My answer to Day 2 is below. Don’t cheat like I did.
The one odd thing you’ll see is that I copy/pasted the dimensions from the Advent of Code site, then I held in ALT and drug the mouse to write on more lines than one at a time. (even I read that as I drugged the mouse…oh well) However, that introduced an issue where there were trailing spaces and tabs I had to take care of as well, which I fixed in code as well.
IF OBJECT_ID('tempdb..#input') IS NOT NULL BEGIN DROP TABLE #input; END CREATE TABLE #input ( dims varchar(100) ); INSERT INTO #input SELECT '4x23x21' UNION ALL SELECT '22x29x19 ' UNION ALL SELECT '11x4x11 ' UNION ALL SELECT '8x10x5 ' UNION ALL SELECT '24x18x16 ' UNION ALL SELECT '11x25x22 ' UNION ALL SELECT '2x13x20 ' UNION ALL SELECT '24x15x14 ' UNION ALL SELECT '14x22x2 ' UNION ALL SELECT '30x7x3 ' UNION ALL SELECT '30x22x25 ' UNION ALL SELECT '29x9x9 ' UNION ALL SELECT '29x29x26 ' UNION ALL SELECT '14x3x16 ' UNION ALL SELECT '1x10x26 ' UNION ALL SELECT '29x2x30 ' UNION ALL SELECT '30x10x25 ' UNION ALL SELECT '10x26x20 ' UNION ALL SELECT '1x2x18 ' UNION ALL SELECT '25x18x5 ' UNION ALL SELECT '21x3x24 ' UNION ALL SELECT '2x5x7 ' UNION ALL SELECT '22x11x21 ' UNION ALL SELECT '11x8x8 ' UNION ALL SELECT '16x18x2 ' UNION ALL SELECT '13x3x8 ' UNION ALL SELECT '1x16x19 ' UNION ALL SELECT '19x16x12 ' UNION ALL SELECT '21x15x1 ' UNION ALL SELECT '29x9x4 ' UNION ALL SELECT '27x10x8 ' UNION ALL SELECT '2x7x27 ' UNION ALL SELECT '2x20x23 ' UNION ALL SELECT '24x11x5 ' UNION ALL SELECT '2x8x27 ' UNION ALL SELECT '10x28x10 ' UNION ALL SELECT '24x11x10 ' UNION ALL SELECT '19x2x12 ' UNION ALL SELECT '27x5x10 ' UNION ALL SELECT '1x14x25 ' UNION ALL SELECT '5x14x30 ' UNION ALL SELECT '15x26x12 ' UNION ALL SELECT '23x20x22 ' UNION ALL SELECT '5x12x1 ' UNION ALL SELECT '9x26x9 ' UNION ALL SELECT '23x25x5 ' UNION ALL SELECT '28x16x19 ' UNION ALL SELECT '17x23x17 ' UNION ALL SELECT '2x27x20 ' UNION ALL SELECT '18x27x13 ' UNION ALL SELECT '16x7x18 ' UNION ALL SELECT '22x7x29 ' UNION ALL SELECT '17x28x6 ' UNION ALL SELECT '9x22x17 ' UNION ALL SELECT '10x5x6 ' UNION ALL SELECT '14x2x12 ' UNION ALL SELECT '25x5x6 ' UNION ALL SELECT '26x9x10 ' UNION ALL SELECT '19x21x6 ' UNION ALL SELECT '19x4x27 ' UNION ALL SELECT '23x16x14 ' UNION ALL SELECT '21x17x29 ' UNION ALL SELECT '24x18x10 ' UNION ALL SELECT '7x19x6 ' UNION ALL SELECT '14x15x10 ' UNION ALL SELECT '9x10x19 ' UNION ALL SELECT '20x18x4 ' UNION ALL SELECT '11x14x8 ' UNION ALL SELECT '30x15x9 ' UNION ALL SELECT '25x12x24 ' UNION ALL SELECT '3x12x5 ' UNION ALL SELECT '12x21x28 ' UNION ALL SELECT '8x23x10 ' UNION ALL SELECT '18x26x8 ' UNION ALL SELECT '17x1x8 ' UNION ALL SELECT '2x29x15 ' UNION ALL SELECT '3x13x28 ' UNION ALL SELECT '23x20x11 ' UNION ALL SELECT '27x25x6 ' UNION ALL SELECT '19x21x3 ' UNION ALL SELECT '30x22x27 ' UNION ALL SELECT '28x24x4 ' UNION ALL SELECT '26x18x21 ' UNION ALL SELECT '11x7x16 ' UNION ALL SELECT '22x27x6 ' UNION ALL SELECT '27x5x26 ' UNION ALL SELECT '4x10x4 ' UNION ALL SELECT '4x2x27 ' UNION ALL SELECT '2x3x26 ' UNION ALL SELECT '26x29x19 ' UNION ALL SELECT '30x26x24 ' UNION ALL SELECT '8x25x12 ' UNION ALL SELECT '16x17x5 ' UNION ALL SELECT '13x2x3 ' UNION ALL SELECT '1x30x22 ' UNION ALL SELECT '20x9x1 ' UNION ALL SELECT '24x26x19 ' UNION ALL SELECT '26x18x1 ' UNION ALL SELECT '18x29x24 ' UNION ALL SELECT '1x6x9 ' UNION ALL SELECT '20x27x2 ' UNION ALL SELECT '3x22x21 ' UNION ALL SELECT '4x16x8 ' UNION ALL SELECT '29x18x16 ' UNION ALL SELECT '7x16x23 ' UNION ALL SELECT '13x8x14 ' UNION ALL SELECT '19x25x10 ' UNION ALL SELECT '23x29x6 ' UNION ALL SELECT '23x21x1 ' UNION ALL SELECT '22x26x10 ' UNION ALL SELECT '14x4x2 ' UNION ALL SELECT '18x29x17 ' UNION ALL SELECT '9x4x18 ' UNION ALL SELECT '7x22x9 ' UNION ALL SELECT '19x5x26 ' UNION ALL SELECT '27x29x19 ' UNION ALL SELECT '7x13x14 ' UNION ALL SELECT '19x10x1 ' UNION ALL SELECT '6x22x3 ' UNION ALL SELECT '12x21x5 ' UNION ALL SELECT '24x20x12 ' UNION ALL SELECT '28x2x11 ' UNION ALL SELECT '16x18x23 ' UNION ALL SELECT '2x13x25 ' UNION ALL SELECT '11x7x17 ' UNION ALL SELECT '27x21x4 ' UNION ALL SELECT '2x10x25 ' UNION ALL SELECT '22x16x17 ' UNION ALL SELECT '23x22x15 ' UNION ALL SELECT '17x13x13 ' UNION ALL SELECT '23x24x26 ' UNION ALL SELECT '27x18x24 ' UNION ALL SELECT '24x7x28 ' UNION ALL SELECT '30x12x15 ' UNION ALL SELECT '14x28x19 ' UNION ALL SELECT '2x15x29 ' UNION ALL SELECT '12x13x5 ' UNION ALL SELECT '17x22x21 ' UNION ALL SELECT '27x10x27 ' UNION ALL SELECT '17x6x25 ' UNION ALL SELECT '22x2x1 ' UNION ALL SELECT '1x10x9 ' UNION ALL SELECT '9x7x2 ' UNION ALL SELECT '30x28x3 ' UNION ALL SELECT '28x11x10 ' UNION ALL SELECT '8x23x15 ' UNION ALL SELECT '23x4x20 ' UNION ALL SELECT '12x5x4 ' UNION ALL SELECT '13x17x14 ' UNION ALL SELECT '28x11x2 ' UNION ALL SELECT '21x11x29 ' UNION ALL SELECT '10x23x22 ' UNION ALL SELECT '27x23x14 ' UNION ALL SELECT '7x15x23 ' UNION ALL SELECT '20x2x13 ' UNION ALL SELECT '8x21x4 ' UNION ALL SELECT '10x20x11 ' UNION ALL SELECT '23x28x11 ' UNION ALL SELECT '21x22x25 ' UNION ALL SELECT '23x11x17 ' UNION ALL SELECT '2x29x10 ' UNION ALL SELECT '28x16x5 ' UNION ALL SELECT '30x26x10 ' UNION ALL SELECT '17x24x16 ' UNION ALL SELECT '26x27x25 ' UNION ALL SELECT '14x13x25 ' UNION ALL SELECT '22x27x5 ' UNION ALL SELECT '24x15x12 ' UNION ALL SELECT '5x21x25 ' UNION ALL SELECT '4x27x1 ' UNION ALL SELECT '25x4x10 ' UNION ALL SELECT '15x13x1 ' UNION ALL SELECT '21x23x7 ' UNION ALL SELECT '8x3x4 ' UNION ALL SELECT '10x5x7 ' UNION ALL SELECT '9x13x30 ' UNION ALL SELECT '2x2x30 ' UNION ALL SELECT '26x4x29 ' UNION ALL SELECT '5x14x14 ' UNION ALL SELECT '2x27x9 ' UNION ALL SELECT '22x16x1 ' UNION ALL SELECT '4x23x5 ' UNION ALL SELECT '13x7x26 ' UNION ALL SELECT '2x12x10 ' UNION ALL SELECT '12x7x22 ' UNION ALL SELECT '26x30x26 ' UNION ALL SELECT '28x16x28 ' UNION ALL SELECT '15x19x11 ' UNION ALL SELECT '4x18x1 ' UNION ALL SELECT '20x14x24 ' UNION ALL SELECT '6x10x22 ' UNION ALL SELECT '9x20x3 ' UNION ALL SELECT '14x9x27 ' UNION ALL SELECT '26x17x9 ' UNION ALL SELECT '10x30x28 ' UNION ALL SELECT '6x3x29 ' UNION ALL SELECT '4x16x28 ' UNION ALL SELECT '8x24x11 ' UNION ALL SELECT '23x10x1 ' UNION ALL SELECT '11x7x7 ' UNION ALL SELECT '29x6x15 ' UNION ALL SELECT '13x25x12 ' UNION ALL SELECT '29x14x3 ' UNION ALL SELECT '26x22x21 ' UNION ALL SELECT '8x3x11 ' UNION ALL SELECT '27x13x25 ' UNION ALL SELECT '27x6x2 ' UNION ALL SELECT '8x11x7 ' UNION ALL SELECT '25x12x9 ' UNION ALL SELECT '24x30x12 ' UNION ALL SELECT '13x1x30 ' UNION ALL SELECT '25x23x16 ' UNION ALL SELECT '9x13x29 ' UNION ALL SELECT '29x26x16 ' UNION ALL SELECT '11x15x9 ' UNION ALL SELECT '11x23x6 ' UNION ALL SELECT '15x27x28 ' UNION ALL SELECT '27x24x21 ' UNION ALL SELECT '6x24x1 ' UNION ALL SELECT '25x25x5 ' UNION ALL SELECT '11x1x26 ' UNION ALL SELECT '21x4x24 ' UNION ALL SELECT '10x5x12 ' UNION ALL SELECT '4x30x13 ' UNION ALL SELECT '24x22x5 ' UNION ALL SELECT '26x7x21 ' UNION ALL SELECT '23x3x17 ' UNION ALL SELECT '22x18x2 ' UNION ALL SELECT '25x1x14 ' UNION ALL SELECT '23x25x30 ' UNION ALL SELECT '8x7x7 ' UNION ALL SELECT '30x19x8 ' UNION ALL SELECT '17x6x15 ' UNION ALL SELECT '2x11x20 ' UNION ALL SELECT '8x3x22 ' UNION ALL SELECT '23x14x26 ' UNION ALL SELECT '8x22x25 ' UNION ALL SELECT '27x1x2 ' UNION ALL SELECT '10x26x2 ' UNION ALL SELECT '28x30x7 ' UNION ALL SELECT '5x30x7 ' UNION ALL SELECT '27x16x30 ' UNION ALL SELECT '28x29x1 ' UNION ALL SELECT '8x25x18 ' UNION ALL SELECT '20x12x29 ' UNION ALL SELECT '9x19x9 ' UNION ALL SELECT '7x25x15 ' UNION ALL SELECT '25x18x18 ' UNION ALL SELECT '11x8x2 ' UNION ALL SELECT '4x20x6 ' UNION ALL SELECT '18x5x20 ' UNION ALL SELECT '2x3x29 ' UNION ALL SELECT '25x26x22 ' UNION ALL SELECT '18x25x26 ' UNION ALL SELECT '9x12x16 ' UNION ALL SELECT '18x7x27 ' UNION ALL SELECT '17x20x9 ' UNION ALL SELECT '6x29x26 ' UNION ALL SELECT '17x7x19 ' UNION ALL SELECT '21x7x5 ' UNION ALL SELECT '29x15x12 ' UNION ALL SELECT '22x4x1 ' UNION ALL SELECT '11x12x11 ' UNION ALL SELECT '26x30x4 ' UNION ALL SELECT '12x24x13 ' UNION ALL SELECT '13x8x3 ' UNION ALL SELECT '26x25x3 ' UNION ALL SELECT '21x26x10 ' UNION ALL SELECT '14x9x26 ' UNION ALL SELECT '20x1x7 ' UNION ALL SELECT '11x12x3 ' UNION ALL SELECT '12x11x4 ' UNION ALL SELECT '11x15x30 ' UNION ALL SELECT '17x6x25 ' UNION ALL SELECT '20x22x3 ' UNION ALL SELECT '1x16x17 ' UNION ALL SELECT '11x5x20 ' UNION ALL SELECT '12x12x7 ' UNION ALL SELECT '2x14x10 ' UNION ALL SELECT '14x27x3 ' UNION ALL SELECT '14x16x18 ' UNION ALL SELECT '21x28x24 ' UNION ALL SELECT '14x20x1 ' UNION ALL SELECT '29x14x1 ' UNION ALL SELECT '10x10x9 ' UNION ALL SELECT '25x23x4 ' UNION ALL SELECT '17x15x14 ' UNION ALL SELECT '9x20x26 ' UNION ALL SELECT '16x2x17 ' UNION ALL SELECT '13x28x25 ' UNION ALL SELECT '16x1x11 ' UNION ALL SELECT '19x16x8 ' UNION ALL SELECT '20x21x2 ' UNION ALL SELECT '27x9x22 ' UNION ALL SELECT '24x18x3 ' UNION ALL SELECT '23x30x6 ' UNION ALL SELECT '4x18x3 ' UNION ALL SELECT '30x15x8 ' UNION ALL SELECT '27x20x19 ' UNION ALL SELECT '28x29x26 ' UNION ALL SELECT '2x21x18 ' UNION ALL SELECT '1x23x30 ' UNION ALL SELECT '1x9x12 ' UNION ALL SELECT '4x11x30 ' UNION ALL SELECT '1x28x4 ' UNION ALL SELECT '17x10x10 ' UNION ALL SELECT '12x14x6 ' UNION ALL SELECT '8x9x24 ' UNION ALL SELECT '8x3x3 ' UNION ALL SELECT '29x8x20 ' UNION ALL SELECT '26x29x2 ' UNION ALL SELECT '29x25x25 ' UNION ALL SELECT '11x17x23 ' UNION ALL SELECT '6x30x21 ' UNION ALL SELECT '13x18x29 ' UNION ALL SELECT '2x10x8 ' UNION ALL SELECT '29x29x27 ' UNION ALL SELECT '27x15x15 ' UNION ALL SELECT '16x17x30 ' UNION ALL SELECT '3x3x22 ' UNION ALL SELECT '21x12x6 ' UNION ALL SELECT '22x1x5 ' UNION ALL SELECT '30x8x20 ' UNION ALL SELECT '6x28x13 ' UNION ALL SELECT '11x2x23 ' UNION ALL SELECT '14x18x27 ' UNION ALL SELECT '6x26x13 ' UNION ALL SELECT '10x24x24 ' UNION ALL SELECT '4x24x6 ' UNION ALL SELECT '20x8x3 ' UNION ALL SELECT '23x11x5 ' UNION ALL SELECT '29x5x24 ' UNION ALL SELECT '14x15x22 ' UNION ALL SELECT '21x17x13 ' UNION ALL SELECT '10x10x8 ' UNION ALL SELECT '1x11x23 ' UNION ALL SELECT '21x19x24 ' UNION ALL SELECT '19x9x13 ' UNION ALL SELECT '21x26x28 ' UNION ALL SELECT '25x11x28 ' UNION ALL SELECT '2x17x1 ' UNION ALL SELECT '18x9x8 ' UNION ALL SELECT '5x21x6 ' UNION ALL SELECT '12x5x2 ' UNION ALL SELECT '23x8x15 ' UNION ALL SELECT '30x16x24 ' UNION ALL SELECT '7x9x27 ' UNION ALL SELECT '16x30x7 ' UNION ALL SELECT '2x21x28 ' UNION ALL SELECT '5x10x6 ' UNION ALL SELECT '8x7x1 ' UNION ALL SELECT '28x13x5 ' UNION ALL SELECT '11x5x14 ' UNION ALL SELECT '26x22x29 ' UNION ALL SELECT '23x15x13 ' UNION ALL SELECT '14x2x16 ' UNION ALL SELECT '22x21x9 ' UNION ALL SELECT '4x20x3 ' UNION ALL SELECT '18x17x19 ' UNION ALL SELECT '12x7x9 ' UNION ALL SELECT '6x12x25 ' UNION ALL SELECT '3x30x27 ' UNION ALL SELECT '8x19x22 ' UNION ALL SELECT '1x9x27 ' UNION ALL SELECT '23x20x12 ' UNION ALL SELECT '14x7x29 ' UNION ALL SELECT '9x12x12 ' UNION ALL SELECT '30x2x6 ' UNION ALL SELECT '15x7x16 ' UNION ALL SELECT '19x13x18 ' UNION ALL SELECT '11x8x13 ' UNION ALL SELECT '16x5x3 ' UNION ALL SELECT '19x26x24 ' UNION ALL SELECT '26x8x21 ' UNION ALL SELECT '21x20x7 ' UNION ALL SELECT '15x1x25 ' UNION ALL SELECT '29x15x21 ' UNION ALL SELECT '22x17x7 ' UNION ALL SELECT '16x17x10 ' UNION ALL SELECT '6x12x24 ' UNION ALL SELECT '8x13x27 ' UNION ALL SELECT '30x25x14 ' UNION ALL SELECT '25x7x10 ' UNION ALL SELECT '15x2x2 ' UNION ALL SELECT '18x15x19 ' UNION ALL SELECT '18x13x24 ' UNION ALL SELECT '19x30x1 ' UNION ALL SELECT '17x1x3 ' UNION ALL SELECT '26x21x15 ' UNION ALL SELECT '10x10x18 ' UNION ALL SELECT '9x16x6 ' UNION ALL SELECT '29x7x30 ' UNION ALL SELECT '11x10x30 ' UNION ALL SELECT '6x11x2 ' UNION ALL SELECT '7x29x23 ' UNION ALL SELECT '13x2x30 ' UNION ALL SELECT '25x27x13 ' UNION ALL SELECT '5x15x21 ' UNION ALL SELECT '4x8x30 ' UNION ALL SELECT '15x27x11 ' UNION ALL SELECT '27x1x6 ' UNION ALL SELECT '2x24x11 ' UNION ALL SELECT '16x20x19 ' UNION ALL SELECT '25x28x20 ' UNION ALL SELECT '6x8x4 ' UNION ALL SELECT '27x16x11 ' UNION ALL SELECT '1x5x27 ' UNION ALL SELECT '12x19x26 ' UNION ALL SELECT '18x24x14 ' UNION ALL SELECT '4x25x17 ' UNION ALL SELECT '24x24x26 ' UNION ALL SELECT '28x3x18 ' UNION ALL SELECT '8x20x28 ' UNION ALL SELECT '22x7x21 ' UNION ALL SELECT '24x5x28 ' UNION ALL SELECT '23x30x29 ' UNION ALL SELECT '25x16x27 ' UNION ALL SELECT '28x10x30 ' UNION ALL SELECT '9x2x4 ' UNION ALL SELECT '30x2x23 ' UNION ALL SELECT '21x9x23 ' UNION ALL SELECT '27x4x26 ' UNION ALL SELECT '2x23x16 ' UNION ALL SELECT '24x26x30 ' UNION ALL SELECT '26x1x30 ' UNION ALL SELECT '10x4x28 ' UNION ALL SELECT '11x29x12 ' UNION ALL SELECT '28x13x30 ' UNION ALL SELECT '24x10x28 ' UNION ALL SELECT '8x12x12 ' UNION ALL SELECT '19x27x11 ' UNION ALL SELECT '11x28x7 ' UNION ALL SELECT '14x6x3 ' UNION ALL SELECT '6x27x5 ' UNION ALL SELECT '6x17x14 ' UNION ALL SELECT '24x24x17 ' UNION ALL SELECT '18x23x14 ' UNION ALL SELECT '17x5x7 ' UNION ALL SELECT '11x4x23 ' UNION ALL SELECT '5x1x17 ' UNION ALL SELECT '26x15x24 ' UNION ALL SELECT '3x9x24 ' UNION ALL SELECT '5x3x15 ' UNION ALL SELECT '5x20x19 ' UNION ALL SELECT '5x21x2 ' UNION ALL SELECT '13x5x30 ' UNION ALL SELECT '19x6x24 ' UNION ALL SELECT '19x17x6 ' UNION ALL SELECT '23x7x13 ' UNION ALL SELECT '28x23x13 ' UNION ALL SELECT '9x1x6 ' UNION ALL SELECT '15x12x16 ' UNION ALL SELECT '21x19x9 ' UNION ALL SELECT '25x5x5 ' UNION ALL SELECT '9x7x9 ' UNION ALL SELECT '6x5x8 ' UNION ALL SELECT '3x11x18 ' UNION ALL SELECT '23x25x11 ' UNION ALL SELECT '25x4x6 ' UNION ALL SELECT '4x27x1 ' UNION ALL SELECT '4x3x3 ' UNION ALL SELECT '30x11x5 ' UNION ALL SELECT '9x17x12 ' UNION ALL SELECT '15x6x24 ' UNION ALL SELECT '10x22x15 ' UNION ALL SELECT '29x27x9 ' UNION ALL SELECT '20x21x11 ' UNION ALL SELECT '18x10x5 ' UNION ALL SELECT '11x2x2 ' UNION ALL SELECT '9x8x8 ' UNION ALL SELECT '1x26x21 ' UNION ALL SELECT '11x11x16 ' UNION ALL SELECT '2x18x30 ' UNION ALL SELECT '29x27x24 ' UNION ALL SELECT '27x8x18 ' UNION ALL SELECT '19x3x17 ' UNION ALL SELECT '30x21x26 ' UNION ALL SELECT '25x13x25 ' UNION ALL SELECT '20x22x1 ' UNION ALL SELECT '10x1x12 ' UNION ALL SELECT '11x17x15 ' UNION ALL SELECT '29x11x30 ' UNION ALL SELECT '17x30x27 ' UNION ALL SELECT '21x22x17 ' UNION ALL SELECT '13x6x22 ' UNION ALL SELECT '22x16x12 ' UNION ALL SELECT '27x18x19 ' UNION ALL SELECT '4x13x6 ' UNION ALL SELECT '27x29x10 ' UNION ALL SELECT '3x23x10 ' UNION ALL SELECT '26x16x24 ' UNION ALL SELECT '18x26x20 ' UNION ALL SELECT '11x28x16 ' UNION ALL SELECT '21x6x15 ' UNION ALL SELECT '9x26x17 ' UNION ALL SELECT '8x15x8 ' UNION ALL SELECT '3x7x10 ' UNION ALL SELECT '2x28x8 ' UNION ALL SELECT '1x2x24 ' UNION ALL SELECT '7x8x9 ' UNION ALL SELECT '19x4x22 ' UNION ALL SELECT '11x20x9 ' UNION ALL SELECT '12x22x16 ' UNION ALL SELECT '26x8x19 ' UNION ALL SELECT '13x28x24 ' UNION ALL SELECT '4x10x16 ' UNION ALL SELECT '12x8x10 ' UNION ALL SELECT '14x24x24 ' UNION ALL SELECT '19x19x28 ' UNION ALL SELECT '29x1x15 ' UNION ALL SELECT '10x5x14 ' UNION ALL SELECT '20x19x23 ' UNION ALL SELECT '10x7x12 ' UNION ALL SELECT '1x7x13 ' UNION ALL SELECT '5x12x13 ' UNION ALL SELECT '25x21x8 ' UNION ALL SELECT '22x28x8 ' UNION ALL SELECT '7x9x4 ' UNION ALL SELECT '3x20x15 ' UNION ALL SELECT '15x27x19 ' UNION ALL SELECT '18x24x12 ' UNION ALL SELECT '16x10x16 ' UNION ALL SELECT '22x19x8 ' UNION ALL SELECT '15x4x3 ' UNION ALL SELECT '9x30x25 ' UNION ALL SELECT '1x1x6 ' UNION ALL SELECT '24x4x25 ' UNION ALL SELECT '13x18x29 ' UNION ALL SELECT '10x2x8 ' UNION ALL SELECT '21x1x17 ' UNION ALL SELECT '29x14x22 ' UNION ALL SELECT '17x29x11 ' UNION ALL SELECT '10x27x16 ' UNION ALL SELECT '25x16x15 ' UNION ALL SELECT '14x2x17 ' UNION ALL SELECT '12x27x3 ' UNION ALL SELECT '14x17x25 ' UNION ALL SELECT '24x4x1 ' UNION ALL SELECT '18x28x18 ' UNION ALL SELECT '9x14x26 ' UNION ALL SELECT '28x24x17 ' UNION ALL SELECT '1x26x12 ' UNION ALL SELECT '2x18x20 ' UNION ALL SELECT '12x19x22 ' UNION ALL SELECT '19x25x20 ' UNION ALL SELECT '5x17x27 ' UNION ALL SELECT '17x29x16 ' UNION ALL SELECT '29x19x11 ' UNION ALL SELECT '16x2x4 ' UNION ALL SELECT '23x24x1 ' UNION ALL SELECT '19x18x3 ' UNION ALL SELECT '28x14x6 ' UNION ALL SELECT '18x5x23 ' UNION ALL SELECT '9x24x12 ' UNION ALL SELECT '15x4x6 ' UNION ALL SELECT '15x7x24 ' UNION ALL SELECT '22x15x8 ' UNION ALL SELECT '22x1x22 ' UNION ALL SELECT '6x4x22 ' UNION ALL SELECT '26x1x30 ' UNION ALL SELECT '8x21x27 ' UNION ALL SELECT '7x1x11 ' UNION ALL SELECT '9x8x18 ' UNION ALL SELECT '20x27x12 ' UNION ALL SELECT '26x23x20 ' UNION ALL SELECT '26x22x30 ' UNION ALL SELECT '24x3x16 ' UNION ALL SELECT '8x24x28 ' UNION ALL SELECT '13x28x5 ' UNION ALL SELECT '4x29x23 ' UNION ALL SELECT '22x5x8 ' UNION ALL SELECT '20x22x3 ' UNION ALL SELECT '9x9x17 ' UNION ALL SELECT '28x3x30 ' UNION ALL SELECT '10x13x10 ' UNION ALL SELECT '10x25x13 ' UNION ALL SELECT '9x20x3 ' UNION ALL SELECT '1x21x25 ' UNION ALL SELECT '24x21x15 ' UNION ALL SELECT '21x5x14 ' UNION ALL SELECT '13x8x20 ' UNION ALL SELECT '29x17x3 ' UNION ALL SELECT '5x17x28 ' UNION ALL SELECT '16x12x7 ' UNION ALL SELECT '23x1x24 ' UNION ALL SELECT '4x24x29 ' UNION ALL SELECT '23x25x14 ' UNION ALL SELECT '8x27x2 ' UNION ALL SELECT '23x11x13 ' UNION ALL SELECT '13x4x5 ' UNION ALL SELECT '24x1x26 ' UNION ALL SELECT '21x1x23 ' UNION ALL SELECT '10x12x12 ' UNION ALL SELECT '21x29x25 ' UNION ALL SELECT '27x25x30 ' UNION ALL SELECT '24x23x4 ' UNION ALL SELECT '1x30x23 ' UNION ALL SELECT '29x28x14 ' UNION ALL SELECT '4x11x30 ' UNION ALL SELECT '9x25x10 ' UNION ALL SELECT '17x11x6 ' UNION ALL SELECT '14x29x30 ' UNION ALL SELECT '23x5x5 ' UNION ALL SELECT '25x18x21 ' UNION ALL SELECT '8x7x1 ' UNION ALL SELECT '27x11x3 ' UNION ALL SELECT '5x10x8 ' UNION ALL SELECT '11x1x11 ' UNION ALL SELECT '16x17x26 ' UNION ALL SELECT '15x22x19 ' UNION ALL SELECT '16x9x6 ' UNION ALL SELECT '18x13x27 ' UNION ALL SELECT '26x4x22 ' UNION ALL SELECT '1x20x21 ' UNION ALL SELECT '6x14x29 ' UNION ALL SELECT '11x7x6 ' UNION ALL SELECT '1x23x7 ' UNION ALL SELECT '12x19x13 ' UNION ALL SELECT '18x21x25 ' UNION ALL SELECT '15x17x20 ' UNION ALL SELECT '23x8x9 ' UNION ALL SELECT '15x9x26 ' UNION ALL SELECT '9x12x9 ' UNION ALL SELECT '12x13x14 ' UNION ALL SELECT '27x26x7 ' UNION ALL SELECT '11x19x22 ' UNION ALL SELECT '16x12x21 ' UNION ALL SELECT '10x30x28 ' UNION ALL SELECT '21x2x7 ' UNION ALL SELECT '12x9x18 ' UNION ALL SELECT '7x17x14 ' UNION ALL SELECT '13x17x17 ' UNION ALL SELECT '3x21x10 ' UNION ALL SELECT '30x9x15 ' UNION ALL SELECT '2x8x15 ' UNION ALL SELECT '15x12x10 ' UNION ALL SELECT '23x26x9 ' UNION ALL SELECT '29x30x10 ' UNION ALL SELECT '30x22x17 ' UNION ALL SELECT '17x26x30 ' UNION ALL SELECT '27x26x20 ' UNION ALL SELECT '17x28x17 ' UNION ALL SELECT '30x12x16 ' UNION ALL SELECT '7x23x15 ' UNION ALL SELECT '30x15x19 ' UNION ALL SELECT '13x19x10 ' UNION ALL SELECT '22x10x4 ' UNION ALL SELECT '17x23x10 ' UNION ALL SELECT '2x28x18 ' UNION ALL SELECT '27x21x28 ' UNION ALL SELECT '24x26x5 ' UNION ALL SELECT '6x23x25 ' UNION ALL SELECT '17x4x16 ' UNION ALL SELECT '14x1x13 ' UNION ALL SELECT '23x21x11 ' UNION ALL SELECT '14x15x30 ' UNION ALL SELECT '26x13x10 ' UNION ALL SELECT '30x19x25 ' UNION ALL SELECT '26x6x26 ' UNION ALL SELECT '9x16x29 ' UNION ALL SELECT '15x2x24 ' UNION ALL SELECT '13x3x20 ' UNION ALL SELECT '23x12x30 ' UNION ALL SELECT '22x23x23 ' UNION ALL SELECT '8x21x2 ' UNION ALL SELECT '18x28x5 ' UNION ALL SELECT '21x27x14 ' UNION ALL SELECT '29x28x23 ' UNION ALL SELECT '12x30x28 ' UNION ALL SELECT '17x16x3 ' UNION ALL SELECT '5x19x11 ' UNION ALL SELECT '28x22x22 ' UNION ALL SELECT '1x4x28 ' UNION ALL SELECT '10x10x14 ' UNION ALL SELECT '18x15x7 ' UNION ALL SELECT '18x11x1 ' UNION ALL SELECT '12x7x16 ' UNION ALL SELECT '10x22x24 ' UNION ALL SELECT '27x25x6 ' UNION ALL SELECT '19x29x25 ' UNION ALL SELECT '10x1x26 ' UNION ALL SELECT '26x27x30 ' UNION ALL SELECT '4x23x19 ' UNION ALL SELECT '24x19x4 ' UNION ALL SELECT '21x11x14 ' UNION ALL SELECT '4x13x27 ' UNION ALL SELECT '9x1x11 ' UNION ALL SELECT '16x20x8 ' UNION ALL SELECT '4x3x11 ' UNION ALL SELECT '1x16x12 ' UNION ALL SELECT '14x6x30 ' UNION ALL SELECT '8x1x10 ' UNION ALL SELECT '11x18x7 ' UNION ALL SELECT '29x28x30 ' UNION ALL SELECT '4x21x8 ' UNION ALL SELECT '3x21x4 ' UNION ALL SELECT '6x1x5 ' UNION ALL SELECT '26x18x3 ' UNION ALL SELECT '28x27x27 ' UNION ALL SELECT '17x3x12 ' UNION ALL SELECT '6x1x22 ' UNION ALL SELECT '23x12x28 ' UNION ALL SELECT '12x13x2 ' UNION ALL SELECT '11x2x13 ' UNION ALL SELECT '7x1x28 ' UNION ALL SELECT '27x6x25 ' UNION ALL SELECT '14x14x3 ' UNION ALL SELECT '14x11x20 ' UNION ALL SELECT '2x27x7 ' UNION ALL SELECT '22x24x23 ' UNION ALL SELECT '7x15x20 ' UNION ALL SELECT '30x6x17 ' UNION ALL SELECT '20x23x25 ' UNION ALL SELECT '18x16x27 ' UNION ALL SELECT '2x9x6 ' UNION ALL SELECT '9x18x19 ' UNION ALL SELECT '20x11x22 ' UNION ALL SELECT '11x16x19 ' UNION ALL SELECT '14x29x23 ' UNION ALL SELECT '14x9x20 ' UNION ALL SELECT '8x10x12 ' UNION ALL SELECT '18x17x6 ' UNION ALL SELECT '28x7x16 ' UNION ALL SELECT '12x19x28 ' UNION ALL SELECT '5x3x16 ' UNION ALL SELECT '1x25x10 ' UNION ALL SELECT '4x14x10 ' UNION ALL SELECT '9x6x3 ' UNION ALL SELECT '15x27x28 ' UNION ALL SELECT '13x26x14 ' UNION ALL SELECT '21x8x25 ' UNION ALL SELECT '29x10x20 ' UNION ALL SELECT '14x26x30 ' UNION ALL SELECT '25x13x28 ' UNION ALL SELECT '1x15x23 ' UNION ALL SELECT '6x20x21 ' UNION ALL SELECT '18x2x1 ' UNION ALL SELECT '22x25x16 ' UNION ALL SELECT '23x25x17 ' UNION ALL SELECT '2x14x21 ' UNION ALL SELECT '14x25x16 ' UNION ALL SELECT '12x17x6 ' UNION ALL SELECT '19x29x15 ' UNION ALL SELECT '25x9x6 ' UNION ALL SELECT '19x17x13 ' UNION ALL SELECT '24x22x5 ' UNION ALL SELECT '19x4x13 ' UNION ALL SELECT '10x18x6 ' UNION ALL SELECT '6x25x6 ' UNION ALL SELECT '23x24x20 ' UNION ALL SELECT '8x22x13 ' UNION ALL SELECT '25x10x29 ' UNION ALL SELECT '5x12x25 ' UNION ALL SELECT '20x5x11 ' UNION ALL SELECT '7x16x29 ' UNION ALL SELECT '29x24x22 ' UNION ALL SELECT '28x20x1 ' UNION ALL SELECT '10x27x10 ' UNION ALL SELECT '6x9x27 ' UNION ALL SELECT '26x15x30 ' UNION ALL SELECT '26x3x19 ' UNION ALL SELECT '20x11x3 ' UNION ALL SELECT '26x1x29 ' UNION ALL SELECT '6x23x4 ' UNION ALL SELECT '6x13x21 ' UNION ALL SELECT '9x23x25 ' UNION ALL SELECT '15x1x10 ' UNION ALL SELECT '29x12x13 ' UNION ALL SELECT '7x8x24 ' UNION ALL SELECT '29x30x27 ' UNION ALL SELECT '3x29x19 ' UNION ALL SELECT '14x16x17 ' UNION ALL SELECT '4x8x27 ' UNION ALL SELECT '26x17x8 ' UNION ALL SELECT '10x27x17 ' UNION ALL SELECT '11x28x17 ' UNION ALL SELECT '17x16x27 ' UNION ALL SELECT '1x8x22 ' UNION ALL SELECT '6x30x16 ' UNION ALL SELECT '7x30x22 ' UNION ALL SELECT '20x12x3 ' UNION ALL SELECT '18x10x2 ' UNION ALL SELECT '20x21x26 ' UNION ALL SELECT '11x1x17 ' UNION ALL SELECT '9x15x15 ' UNION ALL SELECT '19x14x30 ' UNION ALL SELECT '24x22x20 ' UNION ALL SELECT '11x26x23 ' UNION ALL SELECT '14x3x23 ' UNION ALL SELECT '1x28x29 ' UNION ALL SELECT '29x20x4 ' UNION ALL SELECT '1x4x20 ' UNION ALL SELECT '12x26x8 ' UNION ALL SELECT '14x11x14 ' UNION ALL SELECT '14x19x13 ' UNION ALL SELECT '15x13x24 ' UNION ALL SELECT '16x7x26 ' UNION ALL SELECT '11x20x11 ' UNION ALL SELECT '5x24x26 ' UNION ALL SELECT '24x25x7 ' UNION ALL SELECT '21x3x14 ' UNION ALL SELECT '24x29x20 ' UNION ALL SELECT '7x12x1 ' UNION ALL SELECT '16x17x4 ' UNION ALL SELECT '29x16x21 ' UNION ALL SELECT '28x8x17 ' UNION ALL SELECT '11x30x25 ' UNION ALL SELECT '1x26x23 ' UNION ALL SELECT '25x19x28 ' UNION ALL SELECT '30x24x5 ' UNION ALL SELECT '26x29x15 ' UNION ALL SELECT '4x25x23 ' UNION ALL SELECT '14x25x19 ' UNION ALL SELECT '29x10x7 ' UNION ALL SELECT '29x29x28 ' UNION ALL SELECT '19x13x24 ' UNION ALL SELECT '21x28x5 ' UNION ALL SELECT '8x15x24 ' UNION ALL SELECT '1x10x12 ' UNION ALL SELECT '2x26x6 ' UNION ALL SELECT '14x14x4 ' UNION ALL SELECT '10x16x27 ' UNION ALL SELECT '9x17x25 ' UNION ALL SELECT '25x8x7 ' UNION ALL SELECT '1x9x28 ' UNION ALL SELECT '10x8x17 ' UNION ALL SELECT '4x12x1 ' UNION ALL SELECT '17x26x29 ' UNION ALL SELECT '23x12x26 ' UNION ALL SELECT '2x21x22 ' UNION ALL SELECT '18x23x13 ' UNION ALL SELECT '1x14x5 ' UNION ALL SELECT '25x27x26 ' UNION ALL SELECT '4x30x30 ' UNION ALL SELECT '5x13x2 ' UNION ALL SELECT '17x9x6 ' UNION ALL SELECT '28x18x28 ' UNION ALL SELECT '7x30x2 ' UNION ALL SELECT '28x22x17 ' UNION ALL SELECT '14x15x14 ' UNION ALL SELECT '10x14x19 ' UNION ALL SELECT '6x15x22 ' UNION ALL SELECT '27x4x17 ' UNION ALL SELECT '28x21x6 ' UNION ALL SELECT '19x29x26 ' UNION ALL SELECT '6x17x17 ' UNION ALL SELECT '20x13x16 ' UNION ALL SELECT '25x4x1 ' UNION ALL SELECT '2x9x5 ' UNION ALL SELECT '30x3x1 ' UNION ALL SELECT '24x21x2 ' UNION ALL SELECT '14x19x12 ' UNION ALL SELECT '22x5x23 ' UNION ALL SELECT '14x4x21 ' UNION ALL SELECT '10x2x17 ' UNION ALL SELECT '3x14x10 ' UNION ALL SELECT '17x5x3 ' UNION ALL SELECT '22x17x13 ' UNION ALL SELECT '5x19x3 ' UNION ALL SELECT '29x22x6 ' UNION ALL SELECT '12x28x3 ' UNION ALL SELECT '9x21x25 ' UNION ALL SELECT '10x2x14 ' UNION ALL SELECT '13x26x7 ' UNION ALL SELECT '18x23x2 ' UNION ALL SELECT '9x14x17 ' UNION ALL SELECT '21x3x13 ' UNION ALL SELECT '13x23x9 ' UNION ALL SELECT '1x20x4 ' UNION ALL SELECT '11x4x1 ' UNION ALL SELECT '19x5x30 ' UNION ALL SELECT '9x9x29 ' UNION ALL SELECT '26x29x14 ' UNION ALL SELECT '1x4x10 ' UNION ALL SELECT '7x27x30 ' UNION ALL SELECT '8x3x23 ' UNION ALL SELECT '1x27x27 ' UNION ALL SELECT '7x27x27 ' UNION ALL SELECT '1x26x16 ' UNION ALL SELECT '29x16x14 ' UNION ALL SELECT '18x6x12 ' UNION ALL SELECT '24x24x24 ' UNION ALL SELECT '26x2x19 ' UNION ALL SELECT '15x17x4 ' UNION ALL SELECT '11x7x14 ' UNION ALL SELECT '14x19x10 ' UNION ALL SELECT '9x10x1 ' UNION ALL SELECT '14x17x9 ' UNION ALL SELECT '20x19x13 ' UNION ALL SELECT '25x20x8 ' UNION ALL SELECT '24x20x21 ' UNION ALL SELECT '26x30x2 ' UNION ALL SELECT '24x2x10 ' UNION ALL SELECT '28x4x13 ' UNION ALL SELECT '27x17x11 ' UNION ALL SELECT '15x3x8 ' UNION ALL SELECT '11x29x10 ' UNION ALL SELECT '26x15x16 ' UNION ALL SELECT '4x28x22 ' UNION ALL SELECT '7x5x22 ' UNION ALL SELECT '10x28x9 ' UNION ALL SELECT '6x28x13 ' UNION ALL SELECT '10x5x6 ' UNION ALL SELECT '20x12x6 ' UNION ALL SELECT '25x30x30 ' UNION ALL SELECT '17x16x14 ' UNION ALL SELECT '14x20x3 ' UNION ALL SELECT '16x10x8 ' UNION ALL SELECT '9x28x14 ' UNION ALL SELECT '16x12x12 ' UNION ALL SELECT '11x13x25 ' UNION ALL SELECT '21x16x28 ' UNION ALL SELECT '10x3x18 ' UNION ALL SELECT '5x9x20 ' UNION ALL SELECT '17x23x5 ' UNION ALL SELECT '3x13x16 ' UNION ALL SELECT '29x30x17 ' UNION ALL SELECT '2x2x8 ' UNION ALL SELECT '15x8x30 ' UNION ALL SELECT '20x1x16 ' UNION ALL SELECT '23x10x29 ' UNION ALL SELECT '4x5x4 ' UNION ALL SELECT '6x18x12 ' UNION ALL SELECT '26x10x22 ' UNION ALL SELECT '21x10x17 ' UNION ALL SELECT '26x12x29 ' UNION ALL SELECT '7x20x21 ' UNION ALL SELECT '18x9x15 ' UNION ALL SELECT '10x23x20 ' UNION ALL SELECT '20x1x27 ' UNION ALL SELECT '10x10x3 ' UNION ALL SELECT '25x12x23 ' UNION ALL SELECT '30x11x15 ' UNION ALL SELECT '16x22x3 ' UNION ALL SELECT '22x10x11 ' UNION ALL SELECT '15x10x20 ' UNION ALL SELECT '2x20x17 ' UNION ALL SELECT '20x20x1 ' UNION ALL SELECT '24x16x4 ' UNION ALL SELECT '23x27x7 ' UNION ALL SELECT '7x27x22 ' UNION ALL SELECT '24x16x8 ' UNION ALL SELECT '20x11x25 ' UNION ALL SELECT '30x28x11 ' UNION ALL SELECT '21x6x24 ' UNION ALL SELECT '15x2x9 ' UNION ALL SELECT '16x30x24 ' UNION ALL SELECT '21x27x9 ' UNION ALL SELECT '7x19x8 ' UNION ALL SELECT '24x13x28 ' UNION ALL SELECT '12x26x28 ' UNION ALL SELECT '16x21x11 ' UNION ALL SELECT '25x5x13 ' UNION ALL SELECT '23x3x17 ' UNION ALL SELECT '23x1x17 ' UNION ALL SELECT '4x17x18 ' UNION ALL SELECT '17x13x18 ' UNION ALL SELECT '25x12x19 ' UNION ALL SELECT '17x4x19 ' UNION ALL SELECT '4x21x26 ' UNION ALL SELECT '6x28x1 ' UNION ALL SELECT '23x22x15 ' UNION ALL SELECT '6x23x12 ' UNION ALL SELECT '21x17x9 ' UNION ALL SELECT '30x4x23 ' UNION ALL SELECT '2x19x21 ' UNION ALL SELECT '28x24x7 ' UNION ALL SELECT '19x24x14 ' UNION ALL SELECT '13x20x26 ' UNION ALL SELECT '19x24x29 ' UNION ALL SELECT '8x26x3 ' UNION ALL SELECT '16x12x14 ' UNION ALL SELECT '17x4x21 ' UNION ALL SELECT '8x4x20 ' UNION ALL SELECT '13x27x17 ' UNION ALL SELECT '9x21x1 ' UNION ALL SELECT '29x25x6 ' UNION ALL SELECT '7x9x26 ' UNION ALL SELECT '13x25x5 ' UNION ALL SELECT '6x9x21 ' UNION ALL SELECT '12x10x11 ' UNION ALL SELECT '30x28x21 ' UNION ALL SELECT '15x6x2 ' UNION ALL SELECT '8x18x19 ' UNION ALL SELECT '26x20x24 ' UNION ALL SELECT '26x17x14 ' UNION ALL SELECT '27x8x1 ' UNION ALL SELECT '19x19x18 ' UNION ALL SELECT '25x24x27 ' UNION ALL SELECT '14x29x15 ' UNION ALL SELECT '22x26x1 ' UNION ALL SELECT '14x17x9 ' UNION ALL SELECT '2x6x23 ' UNION ALL SELECT '29x7x5 ' UNION ALL SELECT '14x16x19 ' UNION ALL SELECT '14x21x18 ' UNION ALL SELECT '10x15x23 ' UNION ALL SELECT '21x29x14 ' UNION ALL SELECT '20x29x30 ' UNION ALL SELECT '23x11x5 '; WITH TrimmedDims AS ( SELECT Dims = RTRIM(REPLACE(Dims, '', '')) FROM #Input ) , XLoc AS ( SELECT Dims , FirstX = charindex('x', Dims) , SecondX = LEN(Dims) - charindex('x', REVERSE(Dims)) + 1 FROM TrimmedDims ) , Dims AS ( SELECT BoxL = CAST(LEFT(Dims, FirstX - 1) as Int) , BoxW = CAST(SUBSTRING(Dims, FirstX + 1, SecondX - FirstX - 1) as Int) , BoxH = Right(Dims, LEN(Dims) - SecondX) FROM XLoc ) , Measurements As ( SELECT LW = BoxL * BoxW , LH = BoxL * BoxH , WH = BoxW * BoxH , Slack = CASE WHEN BoxL >= BoxW AND BoxL >= BoxH THEN BoxH * BoxW WHEN BoxW >= BoxH THEN BoxL * BoxH ELSE BoxL * BoxW END , RibbonWrap = CASE WHEN BoxL >= BoxW AND BoxL >= BoxH THEN BoxH * 2 + BoxW * 2 WHEN BoxW >= BoxH THEN BoxL * 2 + BoxH * 2 ELSE BoxL * 2 + BoxW * 2 END , RibbonBow = BoxL * BoxW * BoxH FROM Dims ) SELECT Wrapping = SUM(LW * 2 + LH * 2 + WH * 2 + Slack) , Ribbon = SUM(RibbonWrap + RibbonBow) FROM Measurements;
*Update – I realized there was a part 2 to each day of code, so I updated the code above to figure out how much ribbon to order, too. It was just adding the last two columns to the last CTE and the last column to the final SELECT statement. BTW, I have never voluntarily written so many CTE’s in my life…this is about as normal as helping elves with math.
Let me know what you’d do differently. Also, if there’s interest, I also did the next couple days and could make posts for those as well.