import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;publicclassMain{publicstaticvoidmain(String args[]){
Scanner sc =newScanner(System.in);while(sc.hasNext()){int a, b, c;
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();if(a ==0&& b ==0&& c ==0){return;}if(a %2!=0){
System.out.println("NO");}else{
Queue<cola> deal =newLinkedList<cola>();
deal.add(newcola(a,0,0,0));boolean qd[][][]=newboolean[105][105][105];int pp = a /2;boolean nmb =false;
qd[0][0][c]=true;while(!deal.isEmpty()){
cola ok = deal.poll();int nb =0;int yes = a /2;if(ok.a == ok.b && ok.a == yes)
nb++;if(ok.b == ok.c && ok.b == yes)
nb++;if(ok.c == ok.a && ok.c == yes)
nb++;if(nb >=1){
System.out.println(ok.step);
nmb =true;break;}//int x, y, z, ee;
x = ok.a;
y = ok.b;
z = ok.c;
ee = ok.step;if(ok.a >0){if(y != b){if(x + y <= b){if(qd[0][x + y][z]==false){
deal.add(newcola(0, x + y, z, ee +1));
qd[0][x + y][z]=true;}}else{if(qd[x + y - b][b][z]==false){
deal.add(newcola(x + y - b, b, z, ee +1));
qd[x + y - b][b][z]=true;}}}if(z != c){if(x + z <= c){if(qd[0][y][x + z]==false){
deal.add(newcola(0, y, x + z, ee +1));
qd[0][y][x + z]=true;}}else{if(qd[x + z - c][y][c]==false){
deal.add(newcola(x + z - c, y, c, ee +1));
qd[x + z - c][y][c]=true;}}}}if(ok.b >0){if(y + x <= a){if(qd[x + y][0][z]==false){
deal.add(newcola(x + y,0, z, ee +1));
qd[x + y][0][z]=true;}}else{if(qd[a][x + y - a][z]==false){
deal.add(newcola(a, x + y - a, z, ee +1));
qd[a][x + y - a][z]=true;}}if(y + z <= c){if(qd[x][0][z + y]==false){
deal.add(newcola(x,0, z + y, ee +1));
qd[x][0][z + y]=true;}}else{if(qd[x][y + z - c][c]==false){
deal.add(newcola(x, z + y - c, c, ee +1));
qd[x][y + z - c][c]=true;}}}if(ok.c >0){if(z + x <= a){if(qd[x + z][y][0]==false){
deal.add(newcola(x + z, y,0, ee +1));
qd[x + z][y][0]=true;}}else{if(qd[a][y][x + z - a]==false){
deal.add(newcola(a, y, x + z - a, ee +1));
qd[a][y][x + z - a]=true;}}if(z + y <= b){if(qd[x][y + z][0]==false){
deal.add(newcola(x, y + z,0, ee +1));
qd[x][y + z][0]=true;}}else{if(qd[x][b][y + z - b]==false){
deal.add(newcola(x, b, y + z - b, ee +1));
qd[x][b][y + z - b]=true;}}}}if(nmb ==false){
System.out.println("NO");}}}}}classcola{int a, b, c, step;publiccola(int a,int b,int c,int step){this.a = a;this.b = b;this.c = c;this.step = step;}}