import java.io.PrintStream;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	}
	public final Scanner sc;
	public final PrintStream out, err;
	public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	}
	static public final long pair(int a, int b) {return (((long)a) << 32) + b;}
	static public final int getPair1(long v) {return (int)(v >> 32);}
	static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);}

	static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);}
	static public final int getQuad1(long v) {return (int)( v >> 48          );}
	static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);}
	static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);}
	static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);}

	static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	}
	static public final int re(long record) {
		return getQuad2(record);
	}
	static public final int rm(long record) {
		return getQuad3(record);
	}
	static public final int ri(long record) {
		return getQuad4(record);
	}

	//------------------------------------------

	private int p;
	private int[] inv;
	private int[] fact;
	private int[] finv;
	public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	}
	public final int mul(long a, long b) {
		return mod(a*b);
	}
	public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	}
	public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	}
	public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	}
	//------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	}

	//------------------------------------------



	public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	}
} import java.io.PrintStream; PrintStream java.io import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	}
	public final Scanner sc;
	public final PrintStream out, err;
	public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	}
	static public final long pair(int a, int b) {return (((long)a) << 32) + b;}
	static public final int getPair1(long v) {return (int)(v >> 32);}
	static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);}

	static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);}
	static public final int getQuad1(long v) {return (int)( v >> 48          );}
	static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);}
	static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);}
	static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);}

	static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	}
	static public final int re(long record) {
		return getQuad2(record);
	}
	static public final int rm(long record) {
		return getQuad3(record);
	}
	static public final int ri(long record) {
		return getQuad4(record);
	}

	//------------------------------------------

	private int p;
	private int[] inv;
	private int[] fact;
	private int[] finv;
	public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	}
	public final int mul(long a, long b) {
		return mod(a*b);
	}
	public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	}
	public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	}
	public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	}
	//------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	}

	//------------------------------------------



	public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	}
} Main public final Scanner sc; sc public final PrintStream out out err; err private int p; p private int[] inv; inv private int[] fact; fact private int[] finv; finv public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	} main {
		new Main(new Scanner(System.in), System.out, System.err).exec();
	} new Main(new Scanner(System.in), System.out, System.err).exec() new Main(new Scanner(System.in), System.out, System.err).exec new Main(new Scanner(System.in), System.out, System.err) String[] args args public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	} Main {
		this.sc = sc;this.out = out;this.err = err;
	} this.sc = sc this.sc this this.sc sc this.out = out this.out this this.out out this.err = err this.err this this.err err final Scanner sc sc final PrintStream out out final PrintStream err err static public final long pair(int a, int b) {return (((long)a) << 32) + b;} pair {return (((long)a) << 32) + b;} return (((long)a) << 32) + b; (((long)a) << 32) + b (((long)a) << 32) ((long)a) 32 b int a a int b b static public final int getPair1(long v) {return (int)(v >> 32);} getPair1 {return (int)(v >> 32);} return (int)(v >> 32); (int)(v >> 32) v 32 long v v static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);} getPari2 {return (int)(v & 0xFFFFFFFF);} return (int)(v & 0xFFFFFFFF); (int)(v & 0xFFFFFFFF) v 0xFFFFFFFF long v v static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);} quad {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);} return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF); ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF) ((c&0xFFFF)<< 16) ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF) ((a&0xFFFF)<< 48) (a&0xFFFF) a 0xFFFF 48 ((b&0xFFFF)<< 32) (b&0xFFFF) b 0xFFFF 32 ((c&0xFFFF)<< 16) (c&0xFFFF) c 0xFFFF 16 (d&0xFFFF) d 0xFFFF long a a long b b long c c long d d static public final int getQuad1(long v) {return (int)( v >> 48          );} getQuad1 {return (int)( v >> 48          );} return (int)( v >> 48          ); (int)( v >> 48          ) v 48 long v v static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);} getQuad2 {return (int)((v >> 32) & 0xFFFF);} return (int)((v >> 32) & 0xFFFF); (int)((v >> 32) & 0xFFFF) (v >> 32) v 32 0xFFFF long v v static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);} getQuad3 {return (int)((v >> 16) & 0xFFFF);} return (int)((v >> 16) & 0xFFFF); (int)((v >> 16) & 0xFFFF) (v >> 16) v 16 0xFFFF long v v static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);} getQuad4 {return (int)( v        & 0xFFFF);} return (int)( v        & 0xFFFF); (int)( v        & 0xFFFF) v 0xFFFF long v v static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	} record {
		return quad(-1, e, m, i);
	} return quad(-1, e, m, i); quad(-1, e, m, i) quad -1 1 e m i int e e int m m int i i static public final int re(long record) {
		return getQuad2(record);
	} re {
		return getQuad2(record);
	} return getQuad2(record); getQuad2(record) getQuad2 record long record record static public final int rm(long record) {
		return getQuad3(record);
	} rm {
		return getQuad3(record);
	} return getQuad3(record); getQuad3(record) getQuad3 record long record record static public final int ri(long record) {
		return getQuad4(record);
	} ri {
		return getQuad4(record);
	} return getQuad4(record); getQuad4(record) getQuad4 record long record record public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	} mod {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	} v %= p v p return (int)(v < 0 ? v+p : v); (int)(v < 0 ? v+p : v) v < 0 v 0 v+p v p v long v v public final int mul(long a, long b) {
		return mod(a*b);
	} mul {
		return mod(a*b);
	} return mod(a*b); mod(a*b) mod a*b a b long a a long b b public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	} initFact {
		initFact((int)limit, (int)p);
	} initFact((int)limit, (int)p) initFact (int)limit (int)p double limit limit double p p public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	} initFact {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	} this.p = p this.p this this.p p this.inv = new int[limit+1] this.inv this this.inv new int[limit+1] limit+1 limit 1 this.fact = new int[limit+1] this.fact this this.fact new int[limit+1] limit+1 limit 1 this.finv = new int[limit+1] this.finv this this.finv new int[limit+1] limit+1 limit 1 fact[1] = finv[1] = inv[0] = inv[1] = 1 fact[1] fact 1 finv[1] = inv[0] = inv[1] = 1 finv[1] finv 1 inv[0] = inv[1] = 1 inv[0] inv 0 inv[1] = 1 inv[1] inv 1 1 for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		} int i=2; int i=2; i 2 i<=limit i limit i++ i++ i {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		} {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		} int a = p / i; a p / i p i int b = p % i; b p % i p i inv[i]  = mul(-a, inv[b]) inv[i] inv i mul(-a, inv[b]) mul -a a inv[b] inv b fact[i] = mul(fact[i-1], i) fact[i] fact i mul(fact[i-1], i) mul fact[i-1] fact i-1 i 1 i finv[i] = mul(finv[i-1], inv[i]) finv[i] finv i mul(finv[i-1], inv[i]) mul finv[i-1] finv i-1 i 1 inv[i] inv i int limit limit int p p public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	} comb {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	} return mul(mul(fact[m], finv[n]), finv[m-n]); mul(mul(fact[m], finv[n]), finv[m-n]) mul mul(fact[m], finv[n]) mul fact[m] fact m finv[n] finv n finv[m-n] finv m-n m n int m m int n n //------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	} lcm {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	} long temp; temp long c = a; c a c *= b c b while((temp = a%b)!=0) {
			a = b;
			b = temp;
		} (temp = a%b)!=0 (temp = a%b) temp a%b a b 0 {
			a = b;
			b = temp;
		} a = b a b b = temp b temp return (long)(c/b); (long)(c/b) c b long a a long b b public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	} exec {
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	} final int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc final int B = sc.nextInt(); B sc.nextInt() sc.nextInt sc final int C = sc.nextInt(); C sc.nextInt() sc.nextInt sc if(A == B && A != C) {
			out.println("Yes");
			return;
		} A == B && A != C A == B A B A != C A C {
			out.println("Yes");
			return;
		} out.println("Yes") out.println out "Yes" return; if(A == C && A != B) {
			out.println("Yes");
			return;
		} A == C && A != B A == C A C A != B A B {
			out.println("Yes");
			return;
		} out.println("Yes") out.println out "Yes" return; if(B == C && A != B) {
			out.println("Yes");
			return;
		} B == C && A != B B == C B C A != B A B {
			out.println("Yes");
			return;
		} out.println("Yes") out.println out "Yes" return; out.println("No") out.println out "No" public class Main {
	public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	}
	public final Scanner sc;
	public final PrintStream out, err;
	public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	}
	static public final long pair(int a, int b) {return (((long)a) << 32) + b;}
	static public final int getPair1(long v) {return (int)(v >> 32);}
	static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);}

	static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);}
	static public final int getQuad1(long v) {return (int)( v >> 48          );}
	static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);}
	static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);}
	static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);}

	static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	}
	static public final int re(long record) {
		return getQuad2(record);
	}
	static public final int rm(long record) {
		return getQuad3(record);
	}
	static public final int ri(long record) {
		return getQuad4(record);
	}

	//------------------------------------------

	private int p;
	private int[] inv;
	private int[] fact;
	private int[] finv;
	public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	}
	public final int mul(long a, long b) {
		return mod(a*b);
	}
	public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	}
	public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	}
	public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	}
	//------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	}

	//------------------------------------------



	public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	}
} public class Main {
	public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	}
	public final Scanner sc;
	public final PrintStream out, err;
	public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	}
	static public final long pair(int a, int b) {return (((long)a) << 32) + b;}
	static public final int getPair1(long v) {return (int)(v >> 32);}
	static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);}

	static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);}
	static public final int getQuad1(long v) {return (int)( v >> 48          );}
	static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);}
	static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);}
	static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);}

	static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	}
	static public final int re(long record) {
		return getQuad2(record);
	}
	static public final int rm(long record) {
		return getQuad3(record);
	}
	static public final int ri(long record) {
		return getQuad4(record);
	}

	//------------------------------------------

	private int p;
	private int[] inv;
	private int[] fact;
	private int[] finv;
	public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	}
	public final int mul(long a, long b) {
		return mod(a*b);
	}
	public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	}
	public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	}
	public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	}
	//------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	}

	//------------------------------------------



	public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	}
} Main
import java.io.PrintStream;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception{
		new Main(new Scanner(System.in), System.out, System.err).exec();
	}
	public final Scanner sc;
	public final PrintStream out, err;
	public Main(final Scanner sc, final PrintStream out, final PrintStream err) {
		this.sc = sc;this.out = out;this.err = err;
	}
	static public final long pair(int a, int b) {return (((long)a) << 32) + b;}
	static public final int getPair1(long v) {return (int)(v >> 32);}
	static public final int getPari2(long v) {return (int)(v & 0xFFFFFFFF);}

	static public final long quad(long a, long b, long c, long d) {
		return ((a&0xFFFF)<< 48) + ((b&0xFFFF)<< 32) + ((c&0xFFFF)<< 16) +(d&0xFFFF);}
	static public final int getQuad1(long v) {return (int)( v >> 48          );}
	static public final int getQuad2(long v) {return (int)((v >> 32) & 0xFFFF);}
	static public final int getQuad3(long v) {return (int)((v >> 16) & 0xFFFF);}
	static public final int getQuad4(long v) {return (int)( v        & 0xFFFF);}

	static public final long record(int e, int m, int i) {
		return quad(-1, e, m, i);
	}
	static public final int re(long record) {
		return getQuad2(record);
	}
	static public final int rm(long record) {
		return getQuad3(record);
	}
	static public final int ri(long record) {
		return getQuad4(record);
	}

	//------------------------------------------

	private int p;
	private int[] inv;
	private int[] fact;
	private int[] finv;
	public final int mod(long v) {
		v %= p;
		return (int)(v < 0 ? v+p : v);
	}
	public final int mul(long a, long b) {
		return mod(a*b);
	}
	public final void initFact(double limit, double p) {
		initFact((int)limit, (int)p);
	}
	public final void initFact(int limit, int p) {
		this.p = p;
		this.inv = new int[limit+1];
		this.fact = new int[limit+1];
		this.finv = new int[limit+1];
		fact[1] = finv[1] = inv[0] = inv[1] = 1;
		for(int i=2;i<=limit;i++) {
			int a = p / i;
			int b = p % i;
			inv[i]  = mul(-a, inv[b]);
			fact[i] = mul(fact[i-1], i);
			finv[i] = mul(finv[i-1], inv[i]);
		}
	}
	public final int comb(int m, int n) {
		return mul(mul(fact[m], finv[n]), finv[m-n]);
	}
	//------------------------------------------
	static long lcm (long a, long b) {
		long temp;
		long c = a;
		c *= b;
		while((temp = a%b)!=0) {
			a = b;
			b = temp;
		}
		return (long)(c/b);
	}

	//------------------------------------------



	public void exec() throws Exception{
		final int A = sc.nextInt();
		final int B = sc.nextInt();
		final int C = sc.nextInt();
		if(A == B && A != C) {
			out.println("Yes");
			return;
		}
		if(A == C && A != B) {
			out.println("Yes");
			return;
		}
		if(B == C && A != B) {
			out.println("Yes");
			return;
		}
		out.println("No");
	}
}
