import java.util.*; import java.io.*; public class Main implements Comparator { int length; long left, right, den, den2; long n, d; public int compare (Object a, Object b){ StringTokenizer st1 = new StringTokenizer ((String) a, "/"); StringTokenizer st2 = new StringTokenizer ((String) b, "/"); int x1 = Integer.parseInt (st1.nextToken()); int y1 = Integer.parseInt (st1.nextToken()); int x2 = Integer.parseInt (st2.nextToken()); int y2 = Integer.parseInt (st2.nextToken()); if (x1*y2 == x2*y1) return 0; if (x1*y2 < x2*y1) return -1; return 1; } public long gcd (long a, long b){ if (b == 0) return a; return gcd (b, a % b); } public String frac (long n, long d){ long g = gcd (n, d); // System.out.println (n + " " + d + " " + g); n /= g; d /= g; return n + "/" + d; } public void run(){ try { BufferedReader br = new BufferedReader (new InputStreamReader (System.in)); String s; while ((s = br.readLine()) != null){ s = s.substring (2); length = s.length(); ArrayList arr = new ArrayList(); for (int i = 0; i <= length; i++){ if (i != length) left = Long.parseLong (s.substring (0, length - i)); else left = 0; if (i == 0) right = 0; else right = Long.parseLong (s.substring (length - i, length)); if (i == 0){ den = 1; den2 = 1; for (int j = 0; j < length - i; j++){ den2 *= 10; } } else { den = 0; for (int j = 0; j < i; j++){ den = den * 10 + 9; } den2 = 1; for (int j = 0; j < length - i; j++){ den *= 10; den2 *= 10; } } n = left * den + right * den2; d = den * den2; //System.out.println (left + " " + den2 + " " + right + " " + den + " " + n + " " + d); String frac = frac (n, d); if (!arr.contains (frac)) arr.add (frac); } Collections.sort (arr, this); System.out.print ("0." + s + " ="); for (int i = 0; i < arr.size(); i++){ System.out.print (" " + (String) arr.get(i)); } System.out.println(); } br.close(); } catch (Exception e){ e.printStackTrace(); } } public static void main (String args[]){ new Main().run(); } }