1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

#define PB push_back
#define ST first
#define ND second


ll d[100];
const ll duzo = 1e16;
ll z;

struct num {
	ll a;
	ll e;
	num(ll _a)
	{
		a = _a;
		e = 16;
		z = 0;
		while(a < duzo)
		{
			a*=10;
			e--;
			z++;
		}
	}
};

ll po(ll f)
{
	if(f < 0)
		return 1;
	return d[f];
}

int main()
{
	ios_base::sync_with_stdio(0);
	int n;
	d[0] = 1;
	for(int i=1; i < 18; i++)
		d[i] = d[i-1]*10;
	cin >> n;
	ll a;
	cin >> a;
	num x = num(a);
	ll res=0;
	//~ cout << x.a << " " << x.e << "\n";	
	for(int i=1; i < n; i++)
	{
		ll b;
		cin >> b;
		num y = num(b);
		ll cur;
		if(y.e <= x.e)
		{
			cur = x.e-y.e;
			y.e = x.e;
			//~ cout << y.a+d[z]-po(16-y.e) << "\n";
			if(y.a > x.a)
			{
				//ok
			}
			else if(y.a+d[z]-po(16-y.e) > x.a && x.a >= y.a)
			{
				y.a = y.a + x.a%y.a + po(16-y.e);
			}
			else
			{
				cur++;
				y.e++;
			}
			res+=cur;
		}
		//~ cout << y.a << " " << y.e << "\n";
		x = y;
	}
	cout << res << "\n";
	
	
	return 0;
}