#include int operation1(int *x, int *y, int *i); int operation2(int *x, int *y, int *i); int main(void){ int X, Y, i = 0; scanf("%d%d", &X, &Y); if(X == Y){ i = 0; } else if(X == 0){ operation1(&X,&Y,&i); operation2(&X,&Y,&i); } else if(Y == 0){ operation2(&X,&Y,&i); } else if(X == -Y){ operation2(&X,&Y,&i); operation1(&X,&Y,&i); operation2(&X,&Y,&i); } else{ i = -1; } printf("%d\n", i); return 0; } // X' = Y, Y' = X int operation1(int *x, int *y, int *i){ int t; t = *x; *x = *y; *y = t; *i += 1; return 0; } // X' = X + Y, Y' = X - Y int operation2(int *x, int *y, int *i){ int t; t = *x; *x += *y; *y = t - *y; *i += 1; return 0; }