## Question:

Given two boxes with dimensions (L, B, H). We need to write a nice (speed-optimized) size comparison `function sizes_compare(l1, b1, h1, l2, b2, h2):booleean`

, `function sizes_compare(l1, b1, h1, l2, b2, h2):booleean`

, output: equal / not equal. Considering that boxes (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2) and (3,2,1 ) are the same (just inverted in space).

Something I do well, it turns out very long. It was not possible to come up with a hash function, collisions slip through. By direct comparison, we get the Šaghetti code. If you think of it as two arrays, sort and compare, it's somehow too tricky …

language is not important, ideas of how this can be optimally implemented are interesting. Used in a critical place, optimization for execution speed is needed.

## Answer:

Sorting and comparing sequentially is the most normal option.

In this case, you can sort both by sorting the array, and simply by hand.

```
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int a[3], b[3];
scanf("%d%d%d%d%d%d", a, a+1, a+2, b, b+1, b+2);
sort(a, a+3);
sort(b, b+3);
puts(a[0]==b[0] && a[1]==b[1] && a[2]==b[2] ? "YES" : "NO");
return 0;
}
```