#include <algorithm>
#include <cstdio>
#include <queue>

#define MAX_NUM 10000000

using std::queue;
using std::pair;
using std::make_pair;

bool checked[MAX_NUM] = {0, };

int main()
{
	int out = 0;

	int x, y;

	FILE *fin = fopen("input.txt", "r");
	FILE *fout = fopen("output.txt", "w");

	fscanf(fin, "%d %d", &x, &y);

	queue<pair<int, int> > que; // first : number, second : # of changes

	que.push(make_pair(x, 0));
	checked[x] = 1;

	do
	{
		pair<int, int> front = que.front();
		que.pop();

		int num = front.first;
		int cnt = front.second;

		int d_num = num * 2 % MAX_NUM;

		int s_num = num - 1;
		if (s_num < 0)
			s_num = MAX_NUM - 1;

		int l_num = num * 10;	
		l_num = (l_num % MAX_NUM) + (l_num / MAX_NUM);

		int r_num = num / 10;
		r_num += (num % 10) * (MAX_NUM / 10);

		int nums[4] = {d_num, s_num, l_num, r_num};

		for(int i=0; i<4; i++)
		{
			if (!checked[nums[i]])
			{
				checked[nums[i]] = 1;
				que.push(make_pair(nums[i], cnt + 1));
				out = cnt + 1;
			}
		}
	}while(!que.empty() && !checked[y]);

	fprintf(fout, "%d", out);

	fclose(fin);
	fclose(fout);
	
	return 0;
}
