1.0 200.0 200.0
 0.2 0.1 0.6
 1.9 3.0 4.1
 51.8 51.8 7.1
 113.9 125.2 88.8
 1.9 4.8 3.9
 2.2 148.1 138.0
 1.0 200.0 1.0
 1.7 4.5 4.2
 0.2 0.6 0.3
 200.0 200.0 0.1
 3.9 0.2 3.8
 7.0 131.1 7.4
 4.6 4.4 2.3
 2.0 1.1 2.4
 2.4 3.8 2.7
 0.1 0.5 0.2
 1.8 0.4 2.7
 1.1 1.1 1.1
 3.7 2.2 4.8
 3.9 2.1 4.5
 1.0 1.0 200.0
 104.6 184.4 82.3
 149.4 15.5 82.0
 0.5 0.5 0.6
 1.1 1.5 1.0
 0.3 0.4 0.4
 0.3 0.5 0.6
 0.2 0.2 0.5
 1.0 1.0 1.0
 0.2 0.7 0.6
 144.0 70.4 148.1
 25.9 77.0 144.8
 0.9 1.0 0.1
 0.5 0.3 0.2
 2.0 1.0 4.0
 4.0 2.0 1.0
 1.0 2.0 4.0
 0.5 0.5 0.1
 0.6 0.2 0.5
 185.9 9.6 163.4
 0.8 0.3 0.6
 200.0 1.0 200.0
 1.1 3.1 4.9
 3.7 3.7 4.1
 0.1 0.2 0.6
 1.5 1.3 0.1
 4.6 2.1 1.6
 0.1 200.0 0.1
 1.0 0.3 1.1
 0.3 0.3 0.5
 0.1 0.1 0.4
 55.5 159.4 140.3
 4.4 3.7 3.4
 200.0 1.0 1.0
 0.1 1.4 0.3
 1.4 0.5 0.8
 1.1 1.5 0.4
 51.5 156.3 145.1
 0.1 0.3 0.5
 153.9 122.1 89.5
 1.8 1.8 2.1
 0.5 0.1 0.9
 0.6 0.6 1.1
 4.6 3.0 3.4
 0.1 0.4 0.3
 0.6 0.3 0.2
 196.9 3.0 4.1
 3.0 3.0 3.1
 4.4 0.5 2.0
 4.5 1.3 4.8
 64.6 117.1 81.6
 117.4 68.8 137.7
 141.1 108.1 14.9
 81.7 171.9 4.4
 0.2 0.3 0.1
 156.9 154.8 73.9
 1.5 1.4 1.1
 0.4 1.1 0.9
 0.4 1.1 0.8
 0.1 200.0 200.0
 0.5 0.3 0.1
 1.0 2.0 1.0
 1.4 1.1 1.0
 0.7 1.4 0.4
 28.9 39.3 148.4
 1.7 1.9 4.4
 0.5 0.8 0.3
 200.0 0.1 0.1
 0.5 0.2 0.2
 0.6 0.4 0.3
 0.9 1.2 0.2
 4.3 2.4 4.9
 0.9 2.0 4.8
 189.4 63.7 63.4
 38.7 142.2 89.8
 0.3 0.4 0.1
 1.9 1.1 4.8
 0.4 0.1 0.6
 4.2 1.1 1.2
 1.5 1.7 2.5
 184.1 118.5 129.5
 200.0 200.0 200.0
 0.5 0.4 0.5
 1.2 0.7 1.3
 3.9 4.3 3.4
 193.9 40.7 19.7
 0.5 0.2 0.3
 36.9 51.1 4.8
 0.2 0.1 0.2
 0.2 0.6 0.4
 0.1 0.1 200.0
 0.9 4.6 3.4
 2.0 4.0 1.0
 0.2 0.3 0.2
 0.4 1.0 1.5
 1.4 1.2 1.4
 1.2 0.6 0.5
 2.0 2.1 2.2
 0.1 0.2 0.3
 0.8 0.4 1.4
 1.4 0.3 1.4
 4.0 1.0 2.0
 0.1 0.5 0.4
 0.4 0.2 0.3
 4.0 0.4 3.1
 200.0 0.1 200.0
 1.0 4.0 2.0
 0.3 0.4 1.2
 94.5 56.3 59.8
 1.4 0.8 0.9
 200.0 200.0 1.0
 1.4 0.8 0.2
 3.9 0.7 4.7
 144.6 103.0 193.4
 0.5 0.1 0.3
 0.1 0.4 0.2
 0.1 0.1 0.1
 1.2 0.5 1.2
 198.7 23.7 89.1
 139.3 87.4 129.9
 4.1 3.5 4.5
 2.2 3.1 3.0
 91.8 170.4 7.7
 41.7 104.5 74.2

y^z^x
 (z^x)^y
 x^y^z
 z^x^y
 z^x^y
 x^z^y
 x^z^y
 y^x^z
 x^z^y
 (y^x)^z
 (x^y)^z
 x^z^y
 x^z^y
 z^y^x
 (z^x)^y
 x^z^y
 (y^x)^z
 z^x^y
 (x^y)^z
 y^x^z
 y^x^z
 z^x^y
 z^x^y
 y^z^x
 (z^x)^y
 y^x^z
 (y^x)^z
 (z^x)^y
 (z^x)^y
 x^y^z
 (y^x)^z
 y^x^z
 x^y^z
 y^x^z
 (x^y)^z
 x^z^y
 x^y^z
 y^z^x
 (x^y)^z
 (x^y)^z
 y^z^x
 (x^y)^z
 x^z^y
 x^y^z
 x^y^z
 (z^x)^y
 x^y^z
 z^y^x
 y^x^z
 z^x^y
 (z^x)^y
 (z^x)^y
 x^z^y
 z^y^x
 x^y^z
 y^z^x
 x^z^y
 y^x^z
 x^z^y
 (z^x)^y
 z^y^x
 (z^x)^y
 (z^x)^y
 z^x^y
 y^z^x
 (y^x)^z
 (x^y)^z
 y^z^x
 x^y^z
 x^z^y
 y^x^z
 x^z^y
 y^x^z
 z^y^x
 z^x^y
 (y^x)^z
 z^y^x
 (x^y)^z
 y^z^x
 y^z^x
 (y^x)^z
 (x^y)^z
 y^x^z
 x^y^z
 y^x^z
 x^y^z
 x^y^z
 (y^x)^z
 x^y^z
 (x^y)^z
 (x^y)^z
 y^x^z
 y^x^z
 (y^x)^z
 z^y^x
 x^z^y
 (y^x)^z
 x^z^y
 (z^x)^y
 (x^y)^z
 (z^x)^y
 y^z^x
 x^y^z
 (x^y)^z
 z^x^y
 z^x^y
 z^y^x
 (x^y)^z
 z^x^y
 (x^y)^z
 (y^x)^z
 z^x^y
 (z^x)^y
 x^y^z
 (y^x)^z
 z^y^x
 (x^y)^z
 x^y^z
 x^z^y
 (z^x)^y
 z^x^y
 x^z^y
 x^z^y
 (y^x)^z
 (x^y)^z
 x^z^y
 (x^y)^z
 y^z^x
 z^y^x
 y^z^x
 x^z^y
 x^y^z
 x^y^z
 (x^y)^z
 y^x^z
 (x^y)^z
 (y^x)^z
 (x^y)^z
 x^z^y
 y^z^x
 y^z^x
 y^x^z
 x^z^y
 z^x^y
 x^z^y

#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int Scan() {
  int res = 0, ch, flag = 0;
  if ((ch = getchar()) == '-')
    flag = 1;
  else if (ch >= '0' && ch <= '9')
    res = ch - '0';
  while ((ch = getchar()) >= '0' && ch <= '9') res = res * 10 + ch - '0';
  return flag ? -res : res;
}
pair<double, int> cmp(double x, double y, double z, int id) {
  if (z * log10(y) >= y * log10(z) &&
      z * log10(y) >= (double)(log10(z) + log10(y)))
    return make_pair(z * log10(y) + log10(log10(x)), 1 + id);
  if (y * log10(z) >= z * log10(y) &&
      y * log10(z) >= (double)(log10(z) + log10(y)))
    return make_pair(y * log10(z) + log10(log10(x)), 2 + id);
  if ((double)(log10(z) + log10(y)) >= z * log10(y) &&
      (log10(z) + log10(y)) >= y * log10(z))
    return make_pair((log10(z) + log10(y)) + log10(log10(x)), 3 + id);
}
int cmp2(pair<double, int> p1, pair<double, int> p2, pair<double, int> p3) {
  if (p1.first >= p2.first && p1.first >= p3.first) return p1.second;
  if (p2.first >= p1.first && p2.first >= p3.first) return p2.second;
  if (p3.first >= p1.first && p3.first >= p2.first) return p3.second;
}
pair<double, int> cmp3(double x, double y, double z, int id) {
  if (z * log10(y) <= y * log10(z) &&
      z * log10(y) <= (double)(log10(z) + log10(y)))
    return make_pair(z * log10(y) + log10(log10(x)), 1 + id);
  if (y * log10(z) <= z * log10(y) &&
      y * log10(z) <= (double)(log10(z) + log10(y)))
    return make_pair(y * log10(z) + log10(log10(x)), 2 + id);
  if ((double)(log10(z) + log10(y)) <= z * log10(y) &&
      (log10(z) + log10(y)) <= y * log10(z))
    return make_pair((log10(z) + log10(y)) + log10(log10(x)), 3 + id);
}
int cmp4(pair<double, int> p1, pair<double, int> p2, pair<double, int> p3) {
  if (p1.first <= p2.first && p1.first <= p3.first) return p1.second;
  if (p2.first <= p1.first && p2.first <= p3.first) return p2.second;
  if (p3.first <= p1.first && p3.first <= p2.first) return p3.second;
}
void show1(char x, char y, char z) { printf("%c^%c^%c\n", x, y, z); }
void show2(char x, char y, char z) { printf("(%c^%c)^%c", x, y, z); }
int main() {
  double x, y, z;
  cin >> x >> y >> z;
  if (x > 1 && y > 1 && z > 1) {
    pair<double, int> p1 = cmp(x, y, z, 0);
    pair<double, int> p2 = cmp(y, x, z, 4);
    pair<double, int> p3 = cmp(z, x, y, 8);
    int res = cmp2(p1, p2, p3);
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (x > 1 && y > 1) {
    pair<double, int> p1 = cmp(x, y, z, 0);
    pair<double, int> p2 = cmp(y, x, z, 4);
    int res = p1.first > p2.first ? p1.second : p2.second;
    if (fabs(p1.first - p2.first) < 1e-9) res = p1.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (y > 1 && z > 1) {
    pair<double, int> p2 = cmp(y, x, z, 4);
    pair<double, int> p3 = cmp(z, x, y, 8);
    int res = p2.first >= p3.first ? p2.second : p3.second;
    if (fabs(p2.first - p3.first) < 1e-9) res = p2.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (x > 1 && z > 1) {
    pair<double, int> p1 = cmp(x, y, z, 0);
    pair<double, int> p3 = cmp(z, x, y, 8);
    int res = p1.first >= p3.first ? p1.second : p3.second;
    if (fabs(p1.first - p3.first) < 1e-9) res = p1.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (x > 1) {
    pair<double, int> p1 = cmp(x, y, z, 0);
    int res = p1.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (y > 1) {
    pair<double, int> p2 = cmp(y, x, z, 4);
    int res = p2.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (z > 1) {
    pair<double, int> p3 = cmp(z, x, y, 8);
    int res = p3.second;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (x == 1) {
    int res = 1;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (y == 1) {
    int res = 5;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else if (z == 1) {
    int res = 9;
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  } else {
    pair<double, int> p1 = cmp3(1 / x, y, z, 0);
    pair<double, int> p2 = cmp3(1 / y, x, z, 4);
    pair<double, int> p3 = cmp3(1 / z, x, y, 8);
    int res = cmp4(p1, p2, p3);
    switch (res) {
      case 1:
        show1('x', 'y', 'z');
        break;
      case 2:
        show1('x', 'z', 'y');
        break;
      case 3:
        show2('x', 'y', 'z');
        break;
      case 4:
        show2('x', 'z', 'y');
        break;
      case 5:
        show1('y', 'x', 'z');
        break;
      case 6:
        show1('y', 'z', 'x');
        break;
      case 7:
        show2('y', 'x', 'z');
        break;
      case 8:
        show2('y', 'z', 'x');
        break;
      case 9:
        show1('z', 'x', 'y');
        break;
      case 10:
        show1('z', 'y', 'x');
        break;
      case 11:
        show2('z', 'x', 'y');
        break;
      case 12:
        show2('z', 'y', 'x');
        break;
    }
  }
  return 0;
}
