
// Greatest Common Divisor: Euclidean Algorithm
//  URL: http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0197&lang=jp

#include <cstdio>
#include <algorithm>

int main()
{
	int x, y;
	int steps;
	int gcd;

	while( 1 )
	{
		// ú»
		steps = 0;

		// lÌüÍ
		std::scanf( "%d%d", &x, &y );

		// üÍÌIíèÍ[2Â
		if( x == 0 && y == 0 ) break;

		// to do:
		//  [NbhÌÝ@ÅÅåöñðßé
		//  vZÉ©©Á½Xebvðßé

		// x >= y É·é: x < y ÈçüêÖ¦é
		if( x < y ) std::swap( x, y );

		// x / y Ì]èðxÉãü
		// lðüêÖ¦é
		// yª0ÉÈéÜÅ: yª0æèå«¯êÎ
		while( y > 0 )
		{
			x = x % y;
			std::swap( x, y );
			++steps;
		}

		// xÌlªÅåöñ
		gcd = x;

		// ÊðoÍ
		std::printf( "%d %d\n", gcd, steps );

	}

	return 0;
}