import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * Created by karlicos on 9/20/14.
 */
public class A {
    private static enum Op {
        ADD,
        SUB,
        MUL
    }

    static String getOpString(Op op) {
        switch (op) {
            case ADD: return "+";
            case SUB: return "-";
            case MUL: return "*";
        }
        return null;
    }

    private static class Entry {
        private Entry(long first, long second, Op op, long res) {
            this.first = first;
            this.second = second;
            this.res = res;
            this.op = op;
        }

        public long first;
        public long second;
        public long res;
        public Op op;

        @Override
        public String toString() {
            return String.format("%d %s %d = %d", first, getOpString(op), second, res);
        }
    }

    public List<Entry> solve(int n) {
        if (n <= 3) {
            return null;
        }
        List<Entry> res = new ArrayList<>();
        int alal = n % 4;
        if (alal == 0) {
            // 1 2 3 4
            res.add(new Entry(1, 2, Op.MUL, 2));
            res.add(new Entry(2, 3, Op.MUL, 6));
            res.add(new Entry(6, 4, Op.MUL, 24));
        } else if (alal == 1) {
            //  1 2 3 4 5
            res.add(new Entry(4, 5, Op.MUL, 20));
            res.add(new Entry(20, 3, Op.ADD, 23));
            res.add(new Entry(23, 2, Op.ADD, 25));
            res.add(new Entry(25, 1, Op.SUB, 24));
        } else if (alal == 2) {
            //  1 2 3 4 5 6
            res.add(new Entry(2, 3, Op.MUL, 6));
            res.add(new Entry(6, 4, Op.MUL, 24));
            res.add(new Entry(24, 5, Op.ADD, 29));
            res.add(new Entry(29, 1, Op.ADD, 30));
            res.add(new Entry(30, 6, Op.SUB, 24));
        } else { // 3
            //  1 2 3 4 5 6 7
            res.add(new Entry(1, 2, Op.SUB, -1));
            res.add(new Entry(-1, 3, Op.ADD, 2));
            res.add(new Entry(2, 4, Op.ADD, 6));
            res.add(new Entry(6, 5, Op.ADD, 11));
            res.add(new Entry(11, 6, Op.ADD, 17));
            res.add(new Entry(17, 7, Op.ADD, 24));
        }
        int cur = n;
        while (cur >= 8) {
            int tr = 24;
            res.add(new Entry(tr, cur, Op.ADD, tr + cur));
            tr += cur;
            res.add(new Entry(tr, cur - 3, Op.ADD, tr + cur - 3));
            tr += cur - 3;
            res.add(new Entry(tr, cur - 1, Op.SUB, tr - (cur - 1)));
            tr -= cur - 1;
            res.add(new Entry(tr, cur - 2, Op.SUB, tr - (cur - 2)));
            tr -= cur - 2;
            cur -= 4;
        }
        return res;
    }

    public static void main(String[] args) throws Exception {
        new A().run();
    }

    public void run() throws Exception {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);

        int n = sc.nextInt();
        List<Entry> res = solve(n);
        if (res == null) {
            pw.println("NO");
        } else {
            pw.println("YES");
            for (Entry e: res) {
                pw.println(e.toString());
            }
        }

        sc.close();
        pw.close();
    }
}


import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * Created by karlicos on 9/20/14.
 */
public class A {
    private static enum Op {
        ADD,
        SUB,
        MUL
    }

    static String getOpString(Op op) {
        switch (op) {
            case ADD: return "+";
            case SUB: return "-";
            case MUL: return "*";
        }
        return null;
    }

    private static class Entry {
        private Entry(long first, long second, Op op, long res) {
            this.first = first;
            this.second = second;
            this.res = res;
            this.op = op;
        }

        public long first;
        public long second;
        public long res;
        public Op op;

        @Override
        public String toString() {
            return String.format("%d %s %d = %d", first, getOpString(op), second, res);
        }
    }

    public List<Entry> solve(int n) {
        if (n <= 3) {
            return null;
        }
        List<Entry> res = new ArrayList<>();
        int alal = n % 4;
        if (alal == 0) {
            // 1 2 3 4
            res.add(new Entry(1, 2, Op.MUL, 2));
            res.add(new Entry(2, 3, Op.MUL, 6));
            res.add(new Entry(6, 4, Op.MUL, 24));
        } else if (alal == 1) {
            //  1 2 3 4 5
            res.add(new Entry(4, 5, Op.MUL, 20));
            res.add(new Entry(20, 3, Op.ADD, 23));
            res.add(new Entry(23, 2, Op.ADD, 25));
            res.add(new Entry(25, 1, Op.SUB, 24));
        } else if (alal == 2) {
            //  1 2 3 4 5 6
            res.add(new Entry(2, 3, Op.MUL, 6));
            res.add(new Entry(6, 4, Op.MUL, 24));
            res.add(new Entry(24, 5, Op.ADD, 29));
            res.add(new Entry(29, 1, Op.ADD, 30));
            res.add(new Entry(30, 6, Op.SUB, 24));
        } else { // 3
            //  1 2 3 4 5 6 7
            res.add(new Entry(1, 2, Op.MUL, 2));
            res.add(new Entry(2, 3, Op.MUL, 6));
            res.add(new Entry(6, 4, Op.MUL, 24));
            res.add(new Entry(24, 1, Op.ADD, 25));
            res.add(new Entry(25, 6, Op.ADD, 31));
            res.add(new Entry(31, 7, Op.SUB, 24));
        }
        int cur = n;
        while (cur >= 8) {
            int tr = 24;
            res.add(new Entry(tr, cur, Op.ADD, tr + cur));
            tr += cur;
            res.add(new Entry(tr, cur - 3, Op.ADD, tr + cur - 3));
            tr += cur - 3;
            res.add(new Entry(tr, cur - 1, Op.SUB, tr - (cur - 1)));
            tr -= cur - 1;
            res.add(new Entry(tr, cur - 2, Op.SUB, tr - (cur - 2)));
            tr -= cur - 2;
            cur -= 4;
        }
        return res;
    }

    public static void main(String[] args) throws Exception {
        new A().run();
    }

    public void run() throws Exception {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);

        int n = sc.nextInt();
        List<Entry> res = solve(n);
        if (res == null) {
            pw.println("NO");
        } else {
            pw.println("YES");
            for (Entry e: res) {
                pw.println(e.toString());
            }
        }

        sc.close();
        pw.close();
    }
}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know if the n is less than 4, you cannot make 24
		if (line < 4) {
			System.out.println("NO");
		}
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		else  {
			System.out.println("YES");
			if (line == 5) {
			// is the number is exactly equal to 5, then you know the ops
			System.out.println("5 * 4 = 20");
			System.out.println("20 + 3 = 23");
			System.out.println("23 + 2 = 25");
			System.out.println("25 - 1 = 24");
			} else if (line == 4) {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");

			} else {
				int count = line;
				while (line > 5) {
					// so need to check if even or odd
					System.out.println(count + " - " + (count-1) + " = 1");
					System.out.println((count-2) + " * 1 = " + (count-2));
					count = count - 2;
				}
			}
		}
	}
}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		if (line >= 4) {
			System.out.println("YES");
			if (line > 5) {
				int count = line;
				while (line > 5) {
					System.out.println(count + " - " + (count-1) + " = 1");
					System.out.println((count-2) + " * 1 = " + (count-2));
					count = count - 2;
				}
			} if (line == 4) {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");
			} if (line == 5) {
				// is the number is exactly equal to 5, then you know the ops
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			}
		} else {
			System.out.println("NO");
		}
	}

}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know if the n is less than 4, you cannot make 24
		if (line < 4) {
			System.out.println("NO");
		}
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		else  {
			System.out.println("YES");
			if (line == 4) {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");
			} else if (line == 5) {
				// is the number is exactly equal to 5, then you know the ops
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			} else {
				int count = line;
				while (line > 5) {
					System.out.println(count + " - " + (count-1) + " = 1");
					System.out.println((count-2) + " * 1 = " + (count-2));
					count = count - 2;
				}
			}
		}
	}
}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		if (line >= 4) {
			System.out.println("YES");
			if (line > 5) {
				int count = line;
				while (line > 5) {
					System.out.println(count + " - " + (count-1) + " = 1");
					System.out.println((count-2) + " * 1 = " + (count-2));
					count = count - 2;
				}
			} else if (line == 4) {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");
			} else {
				// is the number is exactly equal to 5, then you know the ops
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			}
		} else {
			System.out.println("NO");
		}
	}

}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know if the n is less than 4, you cannot make 24
		if (line < 4) {
			System.out.println("NO");
		}
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		else  {
			System.out.println("YES");
			while (line > 5) {
				// so need to check if even or odd
				int a = line - 1;
				int b = line - 2;
				System.out.println(line + " - " + a + " = 1");
				System.out.println("1 * " + b + " = " + b);
				line = b;
			}
			if (line == 5) {
			// is the number is exactly equal to 5, then you know the ops
			System.out.println("5 * 4 = 20");
			System.out.println("20 + 3 = 23");
			System.out.println("23 + 2 = 25");
			System.out.println("25 - 1 = 24");
			} else {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");

			}
		}
	}
}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know if the n is less than 4, you cannot make 24
		if (line < 4) {
			System.out.println("NO");
		}
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		else  {
			System.out.println("YES");
			while (line > 5) {
				// so need to check if even or odd
				System.out.println(line + " - " + (line - 1) + " = 1");
				System.out.println(1 + " * " + (line - 2) + " = " + (line - 2));
				line -= 2;
			}
			if (line == 5) {
			// is the number is exactly equal to 5, then you know the ops
			System.out.println("5 * 4 = 20");
			System.out.println("20 + 3 = 23");
			System.out.println("23 + 2 = 25");
			System.out.println("25 - 1 = 24");
			} else {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");

			}
		}
	}
}


import java.util.Scanner;

public class TwentyFourGame {

	public static void main (String [] args) {
		Scanner sc = new Scanner (System.in);
		int line = sc.nextInt();
		// you know if the n is less than 4, you cannot make 24
		if (line < 4) {
			System.out.println("NO");
		}
		// you know that if n is greater then 3, you can make 24 from 4 and 3 and 2
		// by adding all of the numbers together
		else  {
			System.out.println("YES");
			if (line == 5) {
			// is the number is exactly equal to 5, then you know the ops
			System.out.println("5 * 4 = 20");
			System.out.println("20 + 3 = 23");
			System.out.println("23 + 2 = 25");
			System.out.println("25 - 1 = 24");
			} else if (line == 4) {
				// is the number is exactly equal to 4, then you know the ops
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");

			} else {
				int count = line;
				while (line > 5) {
					// so need to check if even or odd
					System.out.println(line + " - " + (line - 1) + " = 1");
					System.out.println(1 + " * " + (line - 2) + " = " + (line - 2));
					line -= 2;
				}
			}
		}
	}
}


import java.io.*;
import java.util.*;
import java.math.*;

public class p468a {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (n < 4) {
            System.out.println("NO");
        } else {
            if (n % 2 == 0) {
                for (int i = n; i > 5; i -= 2) {
                    System.out.println(i + " - " + (i - 1) + " = 1");
                    System.out.println("1 * " + (i - 2) + " = " + (i - 2));
                }
                System.out.println("4 * 3 = 12");
                System.out.println("12 * 2 = 24");
                System.out.println("24 * 1 = 24");
            } else {
                for (int i = n; i > 6; i -= 2) {
                    System.out.println(i + " - " + (i - 1) + " = 1");
                    System.out.println("1 * " + (i - 2) + " = " + (i - 2));
                }
                System.out.println("3 + 4 = 7");
                System.out.println("5 + 7 = 12");
                System.out.println("12 * 2 = 24");
                System.out.println("24 * 1 = 24");
            }
        }
    }
}


import java.io.*;
import java.util.*;
import java.math.*;

public class p468a {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (n < 4) {
            System.out.println("NO");
        } else {
            System.out.println("YES");
            if (n % 2 == 0) {
                for (int i = n; i > 5; i -= 2) {
                    System.out.println(i + " - " + (i - 1) + " = 1");
                    System.out.println("1 * " + (i - 2) + " = " + (i - 2));
                }
                System.out.println("4 * 3 = 12");
                System.out.println("12 * 2 = 24");
                System.out.println("24 * 1 = 24");
            } else {
                for (int i = n; i > 6; i -= 2) {
                    System.out.println(i + " - " + (i - 1) + " = 1");
                    System.out.println("1 * " + (i - 2) + " = " + (i - 2));
                }
                System.out.println("3 + 4 = 7");
                System.out.println("5 + 7 = 12");
                System.out.println("12 * 2 = 24");
                System.out.println("24 * 1 = 24");
            }
        }
    }
}


import java.util.*;
import java.io.*;

public class A{

    public static void main(String args[]){
        FastScanner in = new FastScanner(System.in);
        PrintWriter out = new PrintWriter(System.out);
        int n = in.nextInt();
        if(n > 5){
            out.println("YES");
            if(n % 2 == 0){
                out.format("%d * %d = %d\n", 1, 2, 2);
                out.format("%d * %d = %d\n", 2, 3, 6);
                out.format("%d * %d = %d\n", 6, 4, 24);
                for(int i = 5; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            } else{
                out.format("%d * %d = %d\n", 3, 5, 15);
                out.format("%d * %d = %d\n", 2, 4, 8);
                out.format("%d + %d = %d\n", 15, 8, 23);
                out.format("%d + %d = %d\n", 1, 23, 24);
                for(int i = 6; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            }
        } else{
            out.println("NO");
        }
        out.close();
    }

    static class FastScanner{
        private BufferedReader reader;

        private StringTokenizer tokenizer;

        public FastScanner(InputStream stream){
            reader = new BufferedReader(new InputStreamReader(stream));
            tokenizer = null;
        }

        public String nextLine(){
            try{
                return reader.readLine();
            } catch(IOException e){
                e.printStackTrace();
                return null;
            }
        }

        public String next(){
            while(tokenizer == null || !tokenizer.hasMoreTokens()){
                try{
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch(IOException e){
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt(){
            return Integer.parseInt(next());
        }

        public long nextLong(){
            return Long.parseLong(next());
        }

        public double nextDouble(){
            return Double.parseDouble(next());
        }
    }
}


import java.util.*;
import java.io.*;

public class A{

    public static void main(String args[]){
        FastScanner in = new FastScanner(System.in);
        PrintWriter out = new PrintWriter(System.out);
        int n = in.nextInt();
        if(n == 4){
            out.println("YES");
            out.format("%d * %d = %d\n", 1, 2, 2);
            out.format("%d * %d = %d\n", 2, 3, 6);
            out.format("%d * %d = %d\n", 6, 4, 24);
        }
        else if(n > 5){
            out.println("YES");
            if(n % 2 == 0){
                out.format("%d * %d = %d\n", 1, 2, 2);
                out.format("%d * %d = %d\n", 2, 3, 6);
                out.format("%d * %d = %d\n", 6, 4, 24);
                for(int i = 5; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            } else{
                out.format("%d * %d = %d\n", 3, 5, 15);
                out.format("%d * %d = %d\n", 2, 4, 8);
                out.format("%d + %d = %d\n", 15, 8, 23);
                out.format("%d + %d = %d\n", 1, 23, 24);
                for(int i = 6; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            }
        } else{
            out.println("NO");
        }
        out.close();
    }

    static class FastScanner{
        private BufferedReader reader;

        private StringTokenizer tokenizer;

        public FastScanner(InputStream stream){
            reader = new BufferedReader(new InputStreamReader(stream));
            tokenizer = null;
        }

        public String nextLine(){
            try{
                return reader.readLine();
            } catch(IOException e){
                e.printStackTrace();
                return null;
            }
        }

        public String next(){
            while(tokenizer == null || !tokenizer.hasMoreTokens()){
                try{
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch(IOException e){
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt(){
            return Integer.parseInt(next());
        }

        public long nextLong(){
            return Long.parseLong(next());
        }

        public double nextDouble(){
            return Double.parseDouble(next());
        }
    }
}


import java.util.*;
import java.io.*;

public class A{

    public static void main(String args[]){
        FastScanner in = new FastScanner(System.in);
        PrintWriter out = new PrintWriter(System.out);
        int n = in.nextInt();
        if(n > 3){
            out.println("YES");
            if(n % 2 == 0){
                out.format("%d * %d = %d\n", 1, 2, 2);
                out.format("%d * %d = %d\n", 2, 3, 6);
                out.format("%d * %d = %d\n", 6, 4, 24);
                for(int i = 5; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            } else{
                out.format("%d - %d = %d\n", 5, 3, 2);
                out.format("%d * %d = %d\n", 2, 4, 8);
                out.format("%d + %d = %d\n", 1, 2, 3);
                out.format("%d * %d = %d\n", 3, 8, 24);
                for(int i = 6; i < n; i+=2){
                    out.format("%d - %d = %d\n", i + 1, i, 1);
                    out.format("%d * %d = %d\n", 1, 24, 24);
                }
            }
        } else{
            out.println("NO");
        }
        out.close();
    }

    static class FastScanner{
        private BufferedReader reader;

        private StringTokenizer tokenizer;

        public FastScanner(InputStream stream){
            reader = new BufferedReader(new InputStreamReader(stream));
            tokenizer = null;
        }

        public String nextLine(){
            try{
                return reader.readLine();
            } catch(IOException e){
                e.printStackTrace();
                return null;
            }
        }

        public String next(){
            while(tokenizer == null || !tokenizer.hasMoreTokens()){
                try{
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch(IOException e){
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt(){
            return Integer.parseInt(next());
        }

        public long nextLong(){
            return Long.parseLong(next());
        }

        public double nextDouble(){
            return Double.parseDouble(next());
        }
    }
}


import java.io.*;
import java.util.*;

public class Main {
  // main
  public static void main(String [] args) throws IOException {
    // makes the reader and writer
    BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
    PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));

    // read in n
    int n = Integer.parseInt(f.readLine());

    // if n is less than 4, no, otherwise use a certain for even and odd
    if (n<4) out.println("NO");
    else if (n%2==0) {
      out.println("YES");
      out.println("1 * 2 = 2");
      out.println("3 * 2 = 6");
      out.println("4 * 6 = 24");
      for (int i=5;i<n;i+=2) {
        out.println((i+1)+" - "+i+" = 1");
        out.println("24 * 1 = 24");
      }
    } else if (n%2==1) {
      out.println("YES");
      out.println("5 * 4 = 20");
      out.println("20 + 3 = 23");
      out.println("23 + 2 = 25");
      out.println("25 - 1 = 24");
      for (int i=6;i<n;i+=2) {
        out.println((i+1)+" - "+i+" = 1");
        out.println("24 * 1 = 24");
      }
    }

    // cleanup
    out.close();
    System.exit(0);
  }
}


import java.util.Scanner;

public class Solution
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        if (a < 4)
        {
            System.out.println("NO");
            return;
        }
        else
            System.out.println("YES");

        solve(a);
    }

    public static void solve(int n)
    {
        if (n == 4)
        {
            System.out.println("1 * 2 = 2");
            System.out.println("2 * 3 = 6");
            System.out.println("6 * 4 = 24");
        }
        else if (n == 5)
        {
            System.out.println("5 * 4 = 20");
            System.out.println("3 - 1 = 2");
            System.out.println("20 + 2 = 22");
            System.out.println("22 + 2 = 24");
        }
        else
        {
            System.out.println(n + " - " + (n - 1) + " = 1");
            System.out.println((n - 2) + " * 1 = " + (n - 2));
            n-=2;
            solve (n);
        }
        return;
    }
}


import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskA {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        int n = in.nextInt();
        if (n <= 3) {
            out.println("NO");
            return;
        }
        out.println("YES");
        out.println("2 * 3 = 6");
        if (n == 4) out.println("1 * 6 = 6");
        else out.println("1 - 1 = 0");
        for (int i = 5; i <= n; ++i) {
            out.print(i);
            out.println(" * 0 = 0");
        }
        out.println("4 * 6 = 24");
    }
}

class InputReader {
    private BufferedReader reader;
    private StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream), 32768);
        tokenizer = null;
    }

    public String next() {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
            try {
                tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        return tokenizer.nextToken();
    }

    public int nextInt() {
        return Integer.parseInt(next());
    }

}


import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskA {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        int n = in.nextInt();
        if (n <= 3) {
            out.println("NO");
        } else if (n == 4) {
            out.println("YES");
            out.println("1 * 2 = 2");
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
        } else if (n == 5) {
            out.println("YES");
            out.println("3 - 1 = 2");
            out.println("5 - 2 = 3");
            out.println("2 * 3 = 6");
            out.println("3 * 4 = 24");
        } else {
            out.println("YES");
            out.println("6 - 5 = 1");
            out.println("1 - 1 = 0");
            for (int i = 7; i <= n; ++i) {
                out.print(i);
                out.println(" * 0 = 0");
            }
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
            out.println("24 + 0 = 24");
        }
    }
}

class InputReader {
    private BufferedReader reader;
    private StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream), 32768);
        tokenizer = null;
    }

    public String next() {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
            try {
                tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        return tokenizer.nextToken();
    }

    public int nextInt() {
        return Integer.parseInt(next());
    }

}


import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskA {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        int n = in.nextInt();
        if (n <= 3) {
            out.println("NO");
        } else if (n == 4) {
            out.println("YES");
            out.println("1 * 2 = 2");
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
        } else if (n == 5) {
            out.println("YES");
            out.println("3 - 1 = 2");
            out.println("5 - 2 = 3");
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
        } else {
            out.println("YES");
            out.println("6 - 5 = 1");
            out.println("1 - 1 = 0");
            for (int i = 7; i <= n; ++i) {
                out.print(i);
                out.println(" * 0 = 0");
            }
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
            out.println("24 + 0 = 24");
        }
    }
}

class InputReader {
    private BufferedReader reader;
    private StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream), 32768);
        tokenizer = null;
    }

    public String next() {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
            try {
                tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        return tokenizer.nextToken();
    }

    public int nextInt() {
        return Integer.parseInt(next());
    }

}


import java.io.OutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.InputMismatchException;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 * @author George Marcus
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskA {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        int N = in.nextInt();

        if (N <= 3) {
            out.println("NO");
            return;
        }

        out.println("YES");
        if (N % 2 == 0) {
            int M = N - 4;
            for (int i = 5; i < N; i += 2) {
                out.println((i + 1) + " - " + i + " = 1");
            }
            M /= 2;
            out.println("1 * 2 = 2");
            out.println("2 * 3 = 6");
            out.println("6 * 4 = 24");
            for (int i = 0; i < M; i++) {
                out.println("24 * 1 = 24");
            }
        }
        else {
            int M = N - 5;
            for (int i = 6; i < N; i += 2) {
                out.println((i + 1) + " - " + i + " = 1");
            }
            M /= 2;
            out.println("3 - 1 = 2");
            out.println("2 + 2 = 4");
            out.println("4 * 5 = 20");
            out.println("20 + 4 = 24");
            for (int i = 0; i < M; i++) {
                out.println("24 * 1 = 24");
            }
        }
    }
}

class InputReader {
    private InputStream stream;
    private byte[] buf = new byte[1024];
    private int curChar;
    private int numChars;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int read() {
        if (numChars == -1)
            throw new InputMismatchException();
        if (curChar >= numChars) {
            curChar = 0;
            try {
                numChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (numChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        return Integer.parseInt(nextString());
    }

    public String nextString() {
        int c = read();
        while (isSpaceChar(c))
            c = read();
        StringBuffer res = new StringBuffer();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (!isSpaceChar(c));

        return res.toString();
    }

    private boolean isSpaceChar(int c) {
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

}


import java.io.*;
import java.util.*;
import java.math.*;

import static java.lang.System.*;

public class Solution468a {

    public void run() throws Exception {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        if (n <= 3) {
            out.println("NO");
        } else if (n % 2 == 0) {
            out.println("YES\n" +
                    "1 * 2 = 2\n" +
                    "2 * 3 = 6\n" +
                    "6 * 4 = 24");
            for (int i = 6; i <= n; i+=2) {
                out.println(i + " - " + (i-1) + " = 1");
                out.println("24 * 1 = 24");
            }
        } else {
            out.println("YES\n" +
                    "2 - 1 = 1\n" +
                    "1 + 3 = 4\n" +
                    "4 * 5 = 20\n" +
                    "20 + 4 = 24");
            for (int i = 7; i <= n; i+=2) {
                out.println(i + " - " + (i-1) + " = 1");
                out.println("24 * 1 = 24");
            }
        }
    }

    public static void main(String[] args) throws Exception {
        new Solution468a().run();
    }
}


import java.io.IOException;
import java.util.Scanner;

public class Game24 {

	public static void main(String[] args) throws IOException {
		Scanner kb = new Scanner(System.in);
		int n = kb.nextInt();
		kb.close();
		findSolution(n);
	}

	public static void findSolution(int n) {

		// If it's 3 or less then it's impossible
		if (n <= 3)
			System.out.println("NO");
		else {
			System.out.println("YES");
			if (n == 4){
				System.out.println("1 * 2 = 2");
				System.out.println("2 * 3 = 6");
				System.out.println("6 * 4 = 24");
			} else if (n == 5) {
				System.out.println("2 - 1 = 1");
				System.out.println("1 + 3 = 4");
				System.out.println("4 * 5 = 20");
				System.out.println("20 + 4 = 24");
			} else if (n % 2 == 0){ //even case
				System.out.println("1 * 2 = 2");
				System.out.println("2 * 3 = 6");
				System.out.println("6 * 4 = 24");

				for (int i = n; i > 5; i-= 2) {
					System.out.println(i + " - " + (i-1) + " = 1");
					System.out.println("24 * 1 = 24");
				}

			} else { //odd case
				System.out.println("2 - 1 = 1");
				System.out.println("1 + 3 = 4");
				System.out.println("4 * 5 = 20");
				System.out.println("20 + 4 = 24");
				for (int i = n; i > 5; i-= 2) {
					System.out.println(i + " - " + (i-1) + " = 1");
					System.out.println("24 * 1 = 24");
				}
			}

		}
	}

}


import java.util.Scanner;

public class easytwentyfour {

	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		if(num < 4) {
			System.out.println("NO");
		} else {
			System.out.println("Yes");
			while(num > 5) {
				System.out.println(num + " - " + (num - 1) + " = 1");
				System.out.println(1 + " * " + (num - 2) + " = " + (num - 2));
				num -= 2;
			}
			if(num == 4) {
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");
			} else {
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			}
		}
	}
}


import java.util.Scanner;

public class easytwentyfour {

	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		if(num < 4) {
			System.out.println("NO");
		} else {
			System.out.println("YES");
			while(num > 5) {
				System.out.println(num + " - " + (num - 1) + " = 1");
				System.out.println(1 + " * " + (num - 2) + " = " + (num - 2));
				num -= 2;
			}
			if(num == 4) {
				System.out.println("4 * 3 = 12");
				System.out.println("12 * 2 = 24");
				System.out.println("24 * 1 = 24");
			} else {
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			}
		}
	}
}


import java.util.Scanner;

public class easytwentyfour {

	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		if(num < 4) {
			System.out.println("NO");
		} else {
			System.out.println("Yes");
			while(num > 5) {
				System.out.println(num + " - " + (num - 1) + " = 1");
				System.out.println(1 + " * " + (num - 2) + " = " + (num - 2));
				num -= 2;
			}
			if(num == 4) {
				System.out.println("4 * 3 = 12");
				System.out.println("12 + 2 = 24");
				System.out.println("24 * 1 = 24");
			} else {
				System.out.println("5 * 4 = 20");
				System.out.println("20 + 3 = 23");
				System.out.println("23 + 2 = 25");
				System.out.println("25 - 1 = 24");
			}
		}
	}
}


//package Game24;

import java.util.Scanner;

public class MainGame {

	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		int ans = scan.nextInt();
		int times = 0;
		if (ans <=3){
			System.out.println("NO");
		}
		else{
			System.out.println("YES");
		}
		if (ans % 2 == 0)
		{
			for(int i = ans; i > 4; i-=2)
			{
				System.out.println(i + " - " + (i-1) + " = " + 1);
				times++;
			}
			System.out.println(1 + " * " + 2 + " = " + 2);
			System.out.println(2 + " * " + 3 + " = " + 6);
			System.out.println(6 + " * " + 4 + " = " + 24);
			for(int i = 0; i < times; i++){
				System.out.println(24 + " * " + 1 + " = " + 24);
			}
		}
		if (ans % 2 == 1){
			for (int i = ans; i > 5; i-=2){
				System.out.println(i + " - " + (i - 1) + " = " + 1);
				times++;
			}
			System.out.println(5 + " * " + 4 + " = " + 20);
			System.out.println(20 + " + " + 3 + " = " + 23);
			System.out.println(23 + " + " + 2 + " = " + 25);
			System.out.println(25 + " - " + 1 + " = " + 24);
			for(int i = 0; i < times; i++){
				System.out.println(24 + " * " + 1 + " = " + 24);
			}
		}
	}
}


//package Game24;

import java.util.Scanner;

public class MainGame {

	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		int ans = scan.nextInt();
		int times = 0;
		if (ans <=3){
			System.out.println("NO");
		}
		else{
			System.out.println("YES");

		if (ans % 2 == 0)
		{
			for(int i = ans; i > 4; i-=2)
			{
				System.out.println(i + " - " + (i-1) + " = " + 1);
				times++;
			}
			System.out.println(1 + " * " + 2 + " = " + 2);
			System.out.println(2 + " * " + 3 + " = " + 6);
			System.out.println(6 + " * " + 4 + " = " + 24);
			for(int i = 0; i < times; i++){
				System.out.println(24 + " * " + 1 + " = " + 24);
			}
		}
		if (ans % 2 == 1){
			for (int i = ans; i > 5; i-=2){
				System.out.println(i + " - " + (i - 1) + " = " + 1);
				times++;
			}
			System.out.println(5 + " * " + 4 + " = " + 20);
			System.out.println(20 + " + " + 3 + " = " + 23);
			System.out.println(23 + " + " + 2 + " = " + 25);
			System.out.println(25 + " - " + 1 + " = " + 24);
			for(int i = 0; i < times; i++){
				System.out.println(24 + " * " + 1 + " = " + 24);
			}
		}
	}
	}
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) {
        InputReader ir = new InputReader(System.in);

        int n = ir.nextInt();

        ArrayList<String> result = Solution.solve(n);

        OutputWriter ow = new OutputWriter(System.out);
        if (result.size() > 0) {
            ow.println("YES");
            for (String s: result) {
                ow.println(s);
            }
        } else {
            ow.println("NO");
        }
        ow.close();
    }
}

class Solution {
    public static ArrayList<String> solve(int n) {
        ArrayList<String> result = new ArrayList<String>();
        if (n < 4) {
            return result;
        } else if (n % 2 == 0) {
            result.add("1 * 2 = 2");
            result.add("2 * 3 = 6");
            result.add("6 * 4 = 24");
            for (int i = 5; i < n; i++) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        } else {
            result.add("5 - 2 = 3");
            result.add("3 - 1 = 2");
            result.add("3 * 2 = 6");
            result.add("6 * 4 = 24");
            for (int i = 6; i < n; i++) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        }

        return result;
    }
}

class InputReader {
    private InputStream stream;
    private byte[] buf = new byte[1024];
    private int curChar;
    private int numChars;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int read() {
        if (numChars == -1) {
            throw new InputMismatchException();
        }
        if (curChar >= numChars) {
            curChar = 0;
            try {
                numChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (numChars <= 0) {
                return -1;
            }
        }

        return buf[curChar++];
    }

    public String readLine() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (c != '\n' && c != '\r' && c != -1);

        return res.toString();
    }

    public int nextInt() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = read();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9') {
                throw new InputMismatchException();
            }
            res *= 10;
            res += c & 15;
            c = read();
        } while (!isSpaceChar(c));

        return res * sgn;
    }

    public String next() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (!isSpaceChar(c));

        return res.toString();
    }

    public static boolean isSpaceChar(int c) {
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }
}

class OutputWriter {
    private PrintWriter writer;

    public OutputWriter(OutputStream stream) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream)));
    }

    public OutputWriter(OutputStream stream, int size) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream), size));
    }

    public OutputWriter(Writer writer) {
        this.writer = new PrintWriter(writer);
    }

    public void println(int x) {
        writer.println(x);
    }

    public void println(String s) {
        writer.println(s);
    }

    public void println(char[] c) {
        writer.println(c);
    }

    public void print(int x) {
        writer.print(x);
    }

    public void printSpace() {
        writer.print(" ");
    }

    public void close() {
        writer.close();
    }
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) {
        InputReader ir = new InputReader(System.in);

        int n = ir.nextInt();

        ArrayList<String> result = Solution.solve(n);

        OutputWriter ow = new OutputWriter(System.out);
        if (result.size() > 0) {
            ow.println("YES");
            for (String s: result) {
                ow.println(s);
            }
        } else {
            ow.println("NO");
        }
        ow.close();
    }
}

class Solution {
    public static ArrayList<String> solve(int n) {
        ArrayList<String> result = new ArrayList<String>();
        if (n < 4) {
            return result;
        } else if (n % 2 == 0) {
            result.add("1 * 2 = 2");
            result.add("2 * 3 = 6");
            result.add("6 * 4 = 24");
            for (int i = 5; i < n; i += 2) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        } else {
            result.add("5 - 2 = 3");
            result.add("3 - 1 = 2");
            result.add("3 * 2 = 6");
            result.add("6 * 4 = 24");
            for (int i = 6; i < n; i += 2) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        }

        return result;
    }
}

class InputReader {
    private InputStream stream;
    private byte[] buf = new byte[1024];
    private int curChar;
    private int numChars;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int read() {
        if (numChars == -1) {
            throw new InputMismatchException();
        }
        if (curChar >= numChars) {
            curChar = 0;
            try {
                numChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (numChars <= 0) {
                return -1;
            }
        }

        return buf[curChar++];
    }

    public String readLine() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (c != '\n' && c != '\r' && c != -1);

        return res.toString();
    }

    public int nextInt() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = read();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9') {
                throw new InputMismatchException();
            }
            res *= 10;
            res += c & 15;
            c = read();
        } while (!isSpaceChar(c));

        return res * sgn;
    }

    public String next() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (!isSpaceChar(c));

        return res.toString();
    }

    public static boolean isSpaceChar(int c) {
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }
}

class OutputWriter {
    private PrintWriter writer;

    public OutputWriter(OutputStream stream) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream)));
    }

    public OutputWriter(OutputStream stream, int size) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream), size));
    }

    public OutputWriter(Writer writer) {
        this.writer = new PrintWriter(writer);
    }

    public void println(int x) {
        writer.println(x);
    }

    public void println(String s) {
        writer.println(s);
    }

    public void println(char[] c) {
        writer.println(c);
    }

    public void print(int x) {
        writer.print(x);
    }

    public void printSpace() {
        writer.print(" ");
    }

    public void close() {
        writer.close();
    }
}


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String args[]) {
        InputReader ir = new InputReader(System.in);

        int n = ir.nextInt();

        ArrayList<String> result = Solution.solve(n);

        OutputWriter ow = new OutputWriter(System.out);
        if (result.size() > 0) {
            ow.println("YES");
            for (String s: result) {
                ow.println(s);
            }
        } else {
            ow.println("NO");
        }
        ow.close();
    }
}

class Solution {
    public static ArrayList<String> solve(int n) {
        ArrayList<String> result = new ArrayList<String>();
        if (n < 4) {
            return result;
        } else if (n % 2 == 0) {
            result.add("1 * 2 = 2");
            result.add("2 * 3 = 6");
            result.add("4 * 6 = 24");
            for (int i = 5; i < n; i++) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        } else {
            result.add("5 - 2 = 3");
            result.add("3 - 1 = 2");
            result.add("3 * 2 = 6");
            result.add("6 * 4 = 24");
            for (int i = 6; i < n; i++) {
                result.add("" + (i + 1) + " - " + i + " = 1");
                result.add("24 * 1 = 24");
            }
        }

        return result;
    }
}

class InputReader {
    private InputStream stream;
    private byte[] buf = new byte[1024];
    private int curChar;
    private int numChars;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int read() {
        if (numChars == -1) {
            throw new InputMismatchException();
        }
        if (curChar >= numChars) {
            curChar = 0;
            try {
                numChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (numChars <= 0) {
                return -1;
            }
        }

        return buf[curChar++];
    }

    public String readLine() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (c != '\n' && c != '\r' && c != -1);

        return res.toString();
    }

    public int nextInt() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = read();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9') {
                throw new InputMismatchException();
            }
            res *= 10;
            res += c & 15;
            c = read();
        } while (!isSpaceChar(c));

        return res * sgn;
    }

    public String next() {
        int c = read();
        while (isSpaceChar(c)) {
            c = read();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (!isSpaceChar(c));

        return res.toString();
    }

    public static boolean isSpaceChar(int c) {
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }
}

class OutputWriter {
    private PrintWriter writer;

    public OutputWriter(OutputStream stream) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream)));
    }

    public OutputWriter(OutputStream stream, int size) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(stream), size));
    }

    public OutputWriter(Writer writer) {
        this.writer = new PrintWriter(writer);
    }

    public void println(int x) {
        writer.println(x);
    }

    public void println(String s) {
        writer.println(s);
    }

    public void println(char[] c) {
        writer.println(c);
    }

    public void print(int x) {
        writer.print(x);
    }

    public void printSpace() {
        writer.print(" ");
    }

    public void close() {
        writer.close();
    }
}


/***********************************************
 * Wagner Ferreira Alves                       *
 * NUSP 7577319                                *
 * MAC0327 - Desafios de Programação 2015      *
 * http://codeforces.com/contest/469/problem/C *
 * Problem C - 24 Game  - Aval1                *
 * Status: Passed                              *
 ***********************************************/

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_24_Game {
    static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in), 300000);
    public static int n;

    public static void recebeEntrada() throws NumberFormatException, IOException {
        String[] nString = reader.readLine().trim().split("\\s+");
        n = Integer.parseInt(nString[0]);
    }

    public static void solution() {
        if (n <= 3) {
            System.out.println("NO");
        } else if (n == 4) {
            System.out.println("YES");
            System.out.println("2 * 3 = 6");
            System.out.println("6 * 4 = 24");
            System.out.println("24 * 1 = 24");
        } else if (n == 5) {
            System.out.println("YES");
            System.out.println("5 - 2 = 3");
            System.out.println("3 + 3 = 6");
            System.out.println("4 * 6 = 24");
            System.out.println("24 * 1 = 24");
        } else if (n == 6) {
            System.out.println("YES");
            System.out.println("3 - 2 = 1");
            System.out.println("1 - 1 = 0");
            System.out.println("0 * 5 = 0");
            System.out.println("4 * 6 = 24");
            System.out.println("24 + 0 = 24");
        } else { // n>=7
            System.out.println("YES");
            System.out.println("3 - 2 = 1");
            System.out.println("1 - 1 = 0");
            System.out.println("0 * 5 = 0");
            System.out.println("4 * 6 = 24");
            for (int i = 7; i <= n; i++) {
                System.out.println("0 * " + i + " = 0");
            }
            System.out.println("24 + 0 = 24");
        }
    }

    public static void main(String []args) {
        try {
            recebeEntrada();
            solution();
        } catch (NumberFormatException | IOException e) {
            e.printStackTrace();
        }

    }
}


/***********************************************
 * Wagner Ferreira Alves                       *
 * NUSP 7577319                                *
 * MAC0327 - Desafios de Programação 2015      *
 * http://codeforces.com/contest/469/problem/C *
 * Problem C - 24 Game  - Aval1                *
 * Status: Passed                              *
 ***********************************************/

package br.com.wagner.aula02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_24_Game {
    static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in), 300000);
    public static int n;

    public static void recebeEntrada() throws NumberFormatException, IOException {
        String[] nString = reader.readLine().trim().split("\\s+");
        n = Integer.parseInt(nString[0]);
    }

    public static void solution() {
        if (n <= 3) {
            System.out.println("NO");
        } else if (n == 4) {
            System.out.println("YES");
            System.out.println("2 * 3 = 6");
            System.out.println("6 * 4 = 24");
            System.out.println("24 * 1 = 24");
        } else if (n == 5) {
            System.out.println("YES");
            System.out.println("5 - 2 = 3");
            System.out.println("3 + 3 = 6");
            System.out.println("4 * 6 = 24");
            System.out.println("24 * 1 = 24");
        } else if (n == 6) {
            System.out.println("YES");
            System.out.println("3 - 2 = 1");
            System.out.println("1 - 1 = 0");
            System.out.println("0 * 5 = 0");
            System.out.println("4 * 6 = 24");
            System.out.println("24 + 0 = 24");
        } else { // n>=7
            System.out.println("YES");
            System.out.println("3 - 2 = 1");
            System.out.println("1 - 1 = 0");
            System.out.println("0 * 5 = 0");
            System.out.println("4 * 6 = 24");
            for (int i = 7; i <= n; i++) {
                System.out.println("0 * " + i + " = 0");
            }
            System.out.println("24 + 0 = 24");
        }
    }

    public static void main(String []args) {
        try {
            recebeEntrada();
            solution();
        } catch (NumberFormatException | IOException e) {
            e.printStackTrace();
        }

    }
}


/**
 * Created by kapilkrishnakumar on 10/7/15.
 * http://codeforces.com/contest/468/status
 */
import java.util.*;
public class TwentyFourGame {

    public static void main (String [] args) {
        Scanner sc = new Scanner (System.in);
        int n = sc.nextInt();
        if (n <= 3) {
            System.out.println("NO");
        }
        else if(n % 2 == 0){
            System.out.print("YES\n");
            System.out.print("1 * 2 = 2\n");
            System.out.print("2 * 3 = 6\n");
            System.out.print("6 * 4 = 24\n");
            for (int i = 5; i < n; i+=2) {
                String s = String.format("%d - %d = 1\n", i+1, i);
                System.out.print(s);
                System.out.print("24 * 1 = 24\n");
            }
        }else{
            System.out.print("YES\n");
            System.out.print("5 - 3 = 2\n");
            System.out.print("2 * 4 = 8\n");
            System.out.print("2 + 1 = 3\n");
            System.out.print("8 * 3 = 24\n");
            for (int i = 6; i < n; i+=2) {
                String s = String.format("%d - %d = 1\n", i+1, i);
                System.out.print(s);
                System.out.print("24 * 1 = 24\n");
            }
        }
    }
}


import java.io.*;
import java.util.*;
import java.util.List;

public class Main {
    private static StringTokenizer st;
    private static BufferedReader br;
    public static long MOD = 1000000007;
    public static long tenFive = 100000;
    public static int INF = 100000;

    public static void print(Object x) {
        System.out.println(x + "");
    }
    public static void printArr(long[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static void printArr(int[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static String join(Collection<?> x, String space) {
        if (x.size() == 0) return "";
        StringBuilder sb = new StringBuilder();
        boolean first = true;
        for (Object elt : x) {
            if (first) first = false;
            else sb.append(space);
            sb.append(elt);
        }
        return sb.toString();
    }

    public static String nextToken() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            String line = br.readLine();
            st = new StringTokenizer(line.trim());
        }
        return st.nextToken();
    }
    public static int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }
    public static long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }
    public static List<Integer> nextInts(int N) throws IOException {
        List<Integer> ret = new ArrayList<Integer>();
        for (int i = 0; i < N; i++) {
            ret.add(nextInt() - 1);
        }
        return ret;
    }

    public static void main(String[] args) throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));

        int n = nextInt();
        if (n <= 3) print("NO");
        else {
            print("YES");
            while (n > 5) {
                System.out.printf("%d - %d = 1%n", n, n - 1);
                System.out.printf("1 * 1 = 1%n");
                n -= 2;
            }
            if (n == 4) {
                print("4 * 3 = 12");
                print("12 * 2 = 24");
                print("24 * 1 = 24");
            } else {
                print("5 * 4 = 20");
                print("3 - 1 = 2");
                print("2 * 2 = 4");
                print("20 + 4 = 24");
            }
        }
    }
}


import java.io.*;
import java.util.*;
import java.util.List;

public class Main {
    private static StringTokenizer st;
    private static BufferedReader br;
    public static long MOD = 1000000007;
    public static long tenFive = 100000;
    public static int INF = 100000;

    public static void print(Object x) {
        System.out.println(x + "");
    }
    public static void printArr(long[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static void printArr(int[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static String join(Collection<?> x, String space) {
        if (x.size() == 0) return "";
        StringBuilder sb = new StringBuilder();
        boolean first = true;
        for (Object elt : x) {
            if (first) first = false;
            else sb.append(space);
            sb.append(elt);
        }
        return sb.toString();
    }

    public static String nextToken() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            String line = br.readLine();
            st = new StringTokenizer(line.trim());
        }
        return st.nextToken();
    }
    public static int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }
    public static long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }
    public static List<Integer> nextInts(int N) throws IOException {
        List<Integer> ret = new ArrayList<Integer>();
        for (int i = 0; i < N; i++) {
            ret.add(nextInt() - 1);
        }
        return ret;
    }

    public static void main(String[] args) throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));

        int n = nextInt();
        if (n <= 3) print("NO");
        else {
            print("YES");
            StringBuilder s = new StringBuilder();
            while (n > 5) {
                s.append(n + " - " + (n - 1) + " = 1\n");
                s.append("1 * 1 = 1\n");
                n -= 2;
            }
            System.out.print(s);
            if (n == 4) {
                print("4 * 3 = 12");
                print("12 * 2 = 24");
                print("24 * 1 = 24");
            } else {
                print("5 * 4 = 20");
                print("3 - 1 = 2");
                print("2 * 2 = 4");
                print("20 + 4 = 24");
            }
        }
    }
}


import java.io.*;
import java.util.*;
import java.util.List;

public class Main {
    private static StringTokenizer st;
    private static BufferedReader br;
    public static long MOD = 1000000007;
    public static long tenFive = 100000;
    public static int INF = 100000;

    public static void print(Object x) {
        System.out.println(x + "");
    }
    public static void printArr(long[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static void printArr(int[] x) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s.append(x[i] + " ");
        }
        print(s);
    }
    public static String join(Collection<?> x, String space) {
        if (x.size() == 0) return "";
        StringBuilder sb = new StringBuilder();
        boolean first = true;
        for (Object elt : x) {
            if (first) first = false;
            else sb.append(space);
            sb.append(elt);
        }
        return sb.toString();
    }

    public static String nextToken() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            String line = br.readLine();
            st = new StringTokenizer(line.trim());
        }
        return st.nextToken();
    }
    public static int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }
    public static long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }
    public static List<Integer> nextInts(int N) throws IOException {
        List<Integer> ret = new ArrayList<Integer>();
        for (int i = 0; i < N; i++) {
            ret.add(nextInt() - 1);
        }
        return ret;
    }

    public static void main(String[] args) throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));

        int n = nextInt();
        if (n <= 3) print("NO");
        else {
            print("YES");
            while (n > 5) {
                System.out.printf("%d - %d = 1", n, n - 1);
                System.out.printf("1 * 1 = 1");
                n -= 2;
            }
            if (n == 4) {
                print("4 * 3 = 12");
                print("12 * 2 = 24");
                print("24 * 1 = 24");
            } else {
                print("5 * 4 = 20");
                print("3 - 1 = 2");
                print("2 * 2 = 4");
                print("20 + 4 = 24");
            }
        }
    }
}


import java.util.Scanner;

public class Main1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		String no = "NO";
		String yes = "YES";

		if (n < 4) {
			System.out.println(no);
			return;
		}

		System.out.println("YES");

		if (n % 2 == 0) {
			System.out.println("2 * 3 = 6");
			System.out.println("4 * 6 = 24");
			System.out.println("24 * 1 = 24");

			int c = 0;
			for (int i = 5; i < n; i+=2) {
				String l = "" + (i+1) + " - " + i + " = 1";
				System.out.println(l);
				c++;
			}

			for (int i = 0; i < c; i++) {
				System.out.println("24 * 1 = 24");
			}

		} else {
			System.out.println("4 * 5 = 20");
			System.out.println("2 - 1 = 1");
			System.out.println("1 + 3 = 4");
			System.out.println("4 + 20 = 24");

			int c = 0;
			for (int i = 6; i < n; i+=2) {
				String l = "" + (i+1) + " - " + i + " = 1";
				System.out.println(l);
				c++;
			}

			for (int i = 0; i < c; i++) {
				System.out.println("24 * 1 = 24");
			}
		}
	}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>0&&n%4==0)
{pr.println("YES");
    pr.println("1 * 2 = 2");
    pr.println("1 * "+(n-1)+" = 6");
    pr.println("1 * "+(n-2)+" = 24");

int len=(n-4)/2;
    for(int i=0;i<len;i++)
    {
        pr.println("1 - 2 = -1");

    }

    len=len/2;
    for(int i=0;i<len;i++)
    {
        pr.println("2 - 3 = 0");

    }
}
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>0&&n%4==0)
{
    pr.println("1 * 2 = 2");
    pr.println("1 * "+(n-1)+" = 6");
    pr.println("1 * "+(n-2)+" = 24");

int len=(n-4)/2;
    for(int i=0;i<len;i++)
    {
        pr.println("1 - 2 = -1");

    }

    len=len/2;
    for(int i=0;i<len;i++)
    {
        pr.println(" 2 - 3= 0");

    }
}
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>0&&n%4==0)
{
    pr.println("1*2=2");
    pr.println("1*"+(n-1)+"=6");
    pr.println("1*"+(n-2)+"=24");

int len=(n-4)/2;
    for(int i=0;i<len;i++)
    {
        pr.println("1-2=-1");

    }

    len=len/2;
    for(int i=0;i<len;i++)
    {
        pr.println("2-3=0");

    }
}
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>0&&n%4==0)
{pr.println("YES");
    pr.println("1 * 2 = 2");
    pr.println("2 * 3 = 6");
    pr.println("6 * 4 = 24");

    for(int i=5;i<=n;i+=2)
    {
        pr.println(i+" - "+(i+1)+" = -1");

    }

    int len=(n-4)/4;
    for(int i=0;i<len;i++)
    {
        pr.println("-1 - -1 = 0");

    }
    for(int i=0;i<len;i++)
    {
        pr.println("24 + 0 = 24");

    }
}
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>0&&n%4==0)
{pr.println("YES");
    pr.println("1 * 2 = 2");
    pr.println("2 * 3 = 6");
    pr.println("6 * 4 = 24");

    for(int i=5;i<=n;i+=2)
    {
        pr.println(i+" - "+(i+1)+" = -1");

    }

    int len=(n-4)/4;
    for(int i=0;i<len;i++)
    {
        pr.println("-1 - -1 = 0");

    }
}
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
static class Reader
{
BufferedReader r;
StringTokenizer str;
Reader()
{
r=new BufferedReader(new InputStreamReader(System.in));
}
Reader(String fileName) throws FileNotFoundException
{
r=new BufferedReader(new FileReader(fileName));
}
public String getNextToken() throws IOException
{
if(str==null||!str.hasMoreTokens())
{
str=new StringTokenizer(r.readLine());
}
return str.nextToken();
}
public int nextInt() throws IOException
{
return Integer.parseInt(getNextToken());
}
public long nextLong() throws IOException
{
return Long.parseLong(getNextToken());
}
public Double nextDouble() throws IOException
{
return Double.parseDouble(getNextToken());
}
public String nextString() throws IOException
{
return getNextToken();
}
public int[] intArray(int n) throws IOException
{
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=nextInt();
return a;
}
public long[] longArray(int n) throws IOException
{
long a[]=new long[n];
for(int i=0;i<n;i++)
a[i]=nextLong();
return a;
}
public String[] stringArray(int n) throws IOException
{
String a[]=new String[n];
for(int i=0;i<n;i++)
a[i]=nextString();
return a;
}
public int gcd(int a, int b) {
if(b == 0){
return a;
}
return gcd(b, a%b);
}
public int lcm(int a,int b)
{
    return (a*b)/gcd(a,b);
}
public int[] getPrimes(int n)
{
    boolean a[]=new boolean[n+1];
    Arrays.fill(a,true);
    for(int i=2;i*i<=n;i++)
    {
    if(a[i])
    {
    for(int x=i;x*i<=n;x++)
    {
    a[x*i]=false;
    }
    }
    }
    int top=0;
    int prime[]=new int[n];
    for(int i=2;i<=n;i++)
    {if(a[i])
    prime[top++]=i;
    }
    return Arrays.copyOf(prime, top);
}
}
public static void main(String args[]) throws IOException, Exception{

    Reader r=new Reader();
PrintWriter pr=new PrintWriter(System.out,false);
int n=r.nextInt();
if(n>=4&&n%2==0)
{pr.println("YES");
    pr.println("1 * 2 = 2");
    pr.println("2 * 3 = 6");
    pr.println("6 * 4 = 24");

    for(int i=5;i<=n;i+=2)
    {
        pr.println((i+1)+" - "+(i)+" = 1");
        pr.println("24 * 1 = 24");
    }

}
else
    if(n>4&&n%2!=0)
    {

        pr.println("YES");
        pr.println("5 - 2 = 3");
        pr.println("3 - 1 = 2");
        pr.println("3 * 2 = 6");
        pr.println("6 * 4 = 24");

        for(int i=6;i<=n;i+=2)
        {
            pr.println((i+1)+" - "+(i)+" = 1");
            pr.println("24 * 1 = 24");
        }

    }
else
{
    pr.println("NO");
}
pr.flush();

pr.close();

}
}


//package codeforces.ru.task_468A;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/**
 * Created by myduomilia on 21.09.14.
 */
public class Main {
    public static void main(String[] args) throws IOException {
        FastReadWriteConsole console = new FastReadWriteConsole();
        int n = console.nextInt();
        if(n <= 3)
            console.print("NO");
        else if(n == 4)
            console.print("YES\n1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24");
        else if(n == 5)
            console.print("YES\2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24");
        else{
            console.print("YSE\n");
            if(n % 2 == 0){
                int c = 0;
                while (n > 5){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24\n24 * 1 = 24");
            }else {
                int c = 0;
                while (n > 6){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24\n24 * 1 = 24");
            }
        }
        console.close();
    }
}
class FastReadWriteConsole {

    BufferedReader in;
    StringTokenizer tok;
    PrintWriter out;

    public FastReadWriteConsole() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
    }

    private String readToken() throws IOException {
        while (tok == null || !tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine());
        }
        return tok.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(readToken());
    }

    public String nextString() throws IOException {
        return readToken();
    }

    public void print(Object obj){
        out.print(obj.toString());
    }

    public void close() throws IOException {
        in.close();
        out.close();
    }

}


//package codeforces.ru.task_468A;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/**
 * Created by myduomilia on 21.09.14.
 */
public class Main {
    public static void main(String[] args) throws IOException {
        FastReadWriteConsole console = new FastReadWriteConsole();
        int n = console.nextInt();
        if(n <= 3)
            console.print("NO");
        else if(n == 4)
            console.print("YES\n1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24");
        else if(n == 5)
            console.print("YES\2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24");
        else{
            console.print("YES\n");
            if(n % 2 == 0){
                int c = 0;
                while (n > 5){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24\n24 * 1 = 24");
            }else {
                int c = 0;
                while (n > 6){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24\n24 * 1 = 24");
            }
        }
        console.close();
    }
}
class FastReadWriteConsole {

    BufferedReader in;
    StringTokenizer tok;
    PrintWriter out;

    public FastReadWriteConsole() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
    }

    private String readToken() throws IOException {
        while (tok == null || !tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine());
        }
        return tok.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(readToken());
    }

    public String nextString() throws IOException {
        return readToken();
    }

    public void print(Object obj){
        out.print(obj.toString());
    }

    public void close() throws IOException {
        in.close();
        out.close();
    }

}


//package codeforces.ru.task_468A;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/**
 * Created by myduomilia on 21.09.14.
 */
public class Main {
    public static void main(String[] args) throws IOException {
        FastReadWriteConsole console = new FastReadWriteConsole();
        int n = console.nextInt();
        if(n <= 3)
            console.print("NO");
        else if(n == 4)
            console.print("YES\n1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24");
        else if(n == 5)
            console.print("YES\n2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24");
        else{
            console.print("YES\n");
            if(n % 2 == 0){
                int c = 0;
                while (n > 5){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24\n24 * 1 = 24");
            }else {
                int c = 0;
                while (n > 6){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24\n24 * 1 = 24");
            }
        }
        console.close();
    }
}
class FastReadWriteConsole {

    BufferedReader in;
    StringTokenizer tok;
    PrintWriter out;

    public FastReadWriteConsole() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
    }

    private String readToken() throws IOException {
        while (tok == null || !tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine());
        }
        return tok.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(readToken());
    }

    public String nextString() throws IOException {
        return readToken();
    }

    public void print(Object obj){
        out.print(obj.toString());
    }

    public void close() throws IOException {
        in.close();
        out.close();
    }

}


//package codeforces.ru.task_468A;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/**
 * Created by myduomilia on 21.09.14.
 */
public class Main {
    public static void main(String[] args) throws IOException {
        FastReadWriteConsole console = new FastReadWriteConsole();
        int n = console.nextInt();
        if(n <= 3)
            console.print("NO");
        else if(n == 4)
            console.print("YES\n1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24");
        else if(n == 5)
            console.print("YES\n - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24");
        else{
            console.print("YES\n");
            if(n % 2 == 0){
                int c = 0;
                while (n > 5){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("1 * 2 = 2\n2 * 3 = 6\n6 * 4 = 24\n24 * 1 = 24");
            }else {
                int c = 0;
                while (n > 6){
                    console.print(n);
                    console.print(" - ");
                    console.print(n - 1);
                    console.print(" = 1\n");
                    c++;
                    n -= 2;
                }
                while (c > 1){
                    console.print("1 * 1 = 1\n");
                    c--;
                }
                console.print("2 - 1 = 1\n5 * 4 = 20\n20 + 3 = 23\n1 + 23 = 24\n24 * 1 = 24");
            }
        }
        console.close();
    }
}
class FastReadWriteConsole {

    BufferedReader in;
    StringTokenizer tok;
    PrintWriter out;

    public FastReadWriteConsole() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
    }

    private String readToken() throws IOException {
        while (tok == null || !tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine());
        }
        return tok.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(readToken());
    }

    public String nextString() throws IOException {
        return readToken();
    }

    public void print(Object obj){
        out.print(obj.toString());
    }

    public void close() throws IOException {
        in.close();
        out.close();
    }

}


#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll long long
#define CL(a,b) memset(a,b,sizeof a)
int main()
{
    int n;
    cin>>n;
    if(n<4)
    {
        printf("NO\n");
        return 0;
    }
    printf("YES\n");
    if(n%2==0)
    {
        printf("1 * 2 = 2\n");
        printf("2 * 3 = 6\n");
        printf("6 * 4 = 24\n");
        for(int i=6; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    else
    {
        printf("5 - 2 = 3\n");
        printf("3 - 1 = 2\n");
        printf("3 * 4 = 12\n");
        printf("12 * 2 = 24\n");
        for(int i=6; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll long long
#define CL(a,b) memset(a,b,sizeof a)
int main()
{
    int n;
    cin>>n;
    if(n<4)
    {
        printf("NO\n");
        return 0;
    }
    printf("YES\n");
    if(n%2!=0)
    {
        printf("1 * 2 = 2\n");
        printf("2 * 3 = 6\n");
        printf("6 * 4 = 24\n");
        for(int i=6; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    else
    {
        printf("5 - 2 = 3\n");
        printf("3 - 1 = 2\n");
        printf("3 * 4 = 12\n");
        printf("12 * 2 = 24\n");
        for(int i=6; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll long long
#define CL(a,b) memset(a,b,sizeof a)
int main()
{
    int n;
    cin>>n;
    if(n<4)
    {
        printf("NO\n");
        return 0;
    }
    printf("YES\n");
    if(n%2!=0)
    {
        printf("1 * 2 = 2\n");
        printf("2 * 3 = 6\n");
        printf("6 * 4 = 24\n");
        for(int i=5; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    else
    {
        printf("5 - 2 = 3\n");
        printf("3 - 1 = 2\n");
        printf("3 * 4 = 12\n");
        printf("12 * 2 = 24\n");
        for(int i=7; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i,i-1);
            printf("1 * 24 = 24\n");
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll long long
#define CL(a,b) memset(a,b,sizeof a)
int main()
{
    int n;
    cin>>n;
    if(n<4)
    {
        printf("NO\n");
        return 0;
    }
    printf("YES\n");
    if(n%2==0)
    {
        printf("1 * 2 = 2\n");
        printf("2 * 3 = 6\n");
        printf("6 * 4 = 24\n");
        for(int i=5; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    else
    {
        printf("5 - 2 = 3\n");
        printf("3 - 1 = 2\n");
        printf("3 * 4 = 12\n");
        printf("12 * 2 = 24\n");
        for(int i=6; i<=n; i+=2)
        {
            printf("%d - %d = 1\n",i+1,i);
            printf("1 * 24 = 24\n");
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n<4) cout<<"NO";
    else cout<<"YES";
}


#include <iostream>
#include <stdio.h>
#include <cstring>
#include <cmath>
#include <climits>
#include <cstdlib>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <list>
#include <unordered_map>
#include <bitset>
#include <algorithm>
#define ll long long int
#define e() cout << endl;
#define MA INT_MAX
#define MI INT_MIN
#define MOD 1000000007;
#define ppi pair <int,int>
#define scn(n) scanf("%d",&n)
#define vvi(n,m,x) vector <vector <int> > v(n,vector <int> (m,x));
#define cp(x,y) cout << "Case : " << x << " " << y << endl;
using namespace std;
int main()
{
	int n;
	cin >> n;
	if(n <= 3 || (n % 2 && n <= 6))
	{
		cout << "NO\n";
		return 0;
	}

	cout << "YES\n";
	if(n % 2 == 0)
	{
		int cnt = 0;
		for(int i = n;i > 4;i -= 2)
		{
			cout << i << " - " << (i - 1) << " = 1\n";
			cnt++;
		}
		//cout << "no of cnt : " << cnt << endl;
		for(int i = 1;i <= cnt;i++)
			cout << "1 * 1 = 1\n";

		cout << "1 * 2 = 2\n2 * 4 = 8\n8 * 3 = 24\n";
	}
	else
	{
		int cnt = 0;
		for(int i = n;i > 7;i -= 2)
		{
			cout << i << " - " << (i - 1) << " = 1\n";
			cnt++;
		}

		for(int i = 1;i <= cnt;i++)
			cout << "1 * 1 = 1\n";

		cout << "7 - 3 = 4\n5 - 2 = 3\n6 - 4 = 2\n1 * 2 = 2\n2 * 4 = 8\n8 * 3 = 24\n";
	}
 	return 0;
}