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

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Div2_621D {
	public static double[] values;
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		double a = scan.nextDouble(), b = scan.nextDouble(), c = scan.nextDouble();
		
		values = new double[] {a,b,c};
		
		TriExp[] triExps = new TriExp[] { 
				new TriExp(0,1,2,false), new TriExp(0,2,1,false), new TriExp(0,1,2,true),
				new TriExp(1,0,2,false),new TriExp(1,2,0,false), new TriExp(1,0,2,true),
				new TriExp(2,0,1,false),new TriExp(2,1,0,false),new TriExp(2,0,1,true)
				};
		TriExp best = triExps[0];
		for(int i=1;i<triExps.length;i++) {
			TriExp him = triExps[i];
			int comp = him.compareTo(best);
			//System.out.println(him + " compareTo " + best + " = " + comp);
			if(comp > 0) {
				best = him;
				//System.out.println("New best = " + best);
			}
			//System.out.println();
		}
		System.out.println(best);
	}
}
class TriExp implements Comparable<TriExp> {
	public static double values[];
	double a,b,c;
	boolean isParen;
	private String form;
	public TriExp(int a, int b, int c, boolean isParen) {
		this.isParen = isParen;
		StringBuilder sb = new StringBuilder();
		if(isParen)
			sb.append('(');
		sb.append((char)(a+'x'));
		sb.append('^').append((char)(b+'x'));
		if(isParen)
			sb.append(')');
		sb.append('^').append((char)(c+'x'));
		this.form = sb.toString();
		this.a = Div2_621D.values[a];
		this.b = Div2_621D.values[b];
		this.c = Div2_621D.values[c];
	}
	public double eval() {
		double base = isParen ? Math.pow(a, b) : a;
		double exp = isParen ? c : Math.pow(b, c);
		return Math.pow(base,exp);
	}
	@Override
	public String toString() {
		return form;
	}
	public double log(double value) {
			return Math.log(value);
	}
	public double loglog(double value) {
		if(value > 1) {
			return log(log(value));
		}
		return -1e99;
	}
	public int compare(double a, double b) {
		if(Math.abs(a-b) < .0000000001)
			return 0;
		return Double.compare(a, b);
	}
	@Override
	public int compareTo(TriExp o) {
		if(this.a <= 3 && this.b <= 3 && this.c <= 3) {
			//System.out.println(this.eval() + " or " + o.eval());
			double left = this.eval();
			double right = o.eval();
			return compare(left,right);
		}
		if(!isParen && !o.isParen) {
			double lefta = c * log(b);
			double leftb = loglog(a);
			double righta = o.c * log(o.b);
			double rightb = loglog(o.a);
			if(leftb == -1e99 || rightb == -1e99)
				return Double.compare(leftb, rightb);
			return compare(lefta+leftb, righta+rightb);
		}
		if(isParen && !o.isParen) {
			double lefta = log(b) + log(c);
			double leftb = loglog(a);
			double righta = o.c * log(o.b);
			double rightb = loglog(o.a);
			//System.out.println("~" + (lefta+leftb) + " <?> " + (righta+rightb) + " = " + Double.compare(lefta+leftb, righta+rightb));
			if(leftb == -1e99 || rightb == -1e99)
				return compare(leftb, rightb);
			return compare(lefta+leftb, righta+rightb);
		}
		if(!isParen && o.isParen) {
			return -o.compareTo(this);
		}
		double left = b*c*log(a);
		double right = o.b*o.c*log(o.a);
		return compare(left,right);
		
		
	}
}
