Write a program that, given two intervals, tells if one is inside the other, and computes the interval corresponding to their intersection, or tells that it is empty.

**Input**

Input consists of four integer numbers *a*_{1}, *b*_{1}, *a*_{2}, *b*_{2}
that represent the intervals [*a*_{1},*b*_{1}] and [*a*_{2},*b*_{2}].
Assume *a*_{1}≤ *b*_{1} and *a*_{2}≤ *b*_{2}.

**Output**

Print ‘`=`’ if the intervals are equal,
‘`1`’ if the first is inside the second (but they are not equal),
‘`2`’ if the second is inside the first (but they are not equal),
or ‘`?`’ otherwise.
Also, print “`[]`” if the intersection is empty,
or “`[`*x*`,`*y*`]`” if this is their non-empty intersection.

Public test cases

**Input**

20 30 10 40

**Output**

1 , [20,30]

**Input**

10 20 10 20

**Output**

= , [10,20]

**Input**

20 30 10 20

**Output**

? , [20,20]

**Input**

10 20 30 40

**Output**

? , []

Information

- Author
- Jordi Petit
- Language
- English
- Translator
- Carlos Molina
- Original language
- Catalan
- Other languages
- Catalan
- Official solutions
- C++ Java Python
- User solutions
- C C++ Java PHP Python