Problem: The word `internationalization` is sometimes abbreviated to `i18n`. This comes from the fact that there are 18 letters between the first `i` and the last `n`.

You are given a string s of length at least 3 consisting of lowercase English letters. Abbreviate s in the same way.

Constraints

* 3 ≤ |s| ≤ 100 (|s| denotes the length of s.)
* s consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:


s


Output

Print the abbreviation of s.

Examples

Input

internationalization


Output

i18n


Input

smiles


Output

s4s


Input

xyz


Output

x1z

Solution (in CPP):

Solution:
#include <cstdio>
int a;
char s[110];
int main ()
{
	scanf ("%s",s);
	for (a=0;s[a];a++) ;
	printf ("%c%d%c\n",s[0],a-2,s[a-1]);
	return 0;
}