#include<stdio.h>
/* 打印输入中单词长度的直方图(垂直) */
#define MAX 300

void main()
{
	int c, i, j, nchar, nword, ncmax;
	int countc[MAX];
	nchar = nword = ncmax = 0;
	for (i = 0; i < MAX; i++)
		countc[i] = 0;
	// 初始化赋初值
	c = getchar();
	while (c != EOF)			// 循环体输入
	{
		while (c == ' ' || c == '\t' || c == '\n')
			c = getchar();
		// 去除开始的空格
		nword++;				// 计算单词个数
		while (c != '\n' && c != ' ' && c != '\t')
		{
			nchar++;
			c = getchar();
		}						// 计算单词长度
		countc[nword - 1] = nchar;	// 录入数据
		while (c == ' ' || c == '\t')
			c = getchar();
		// 跳过非字符输入
		nchar = 0;
		// 单词长度计数清零
		while (c == '\n')
		{

			for (i = 0; i < nword; i++)
			{
				(ncmax > countc[i]) ?ncmax  : (ncmax = countc[i]);
			}					// 判断最大列数
			printf("words:%d,maxchar:%d\n", nword, ncmax);	// 测试点
			for (i = 0; i < ncmax; i++)
			{
				for (j = 0; j < nword; j++)
				{
					(ncmax - i > countc[j]) ? printf(" ") : printf("*");//消消乐
				}				// 循环打印行
				printf("\n");
			}// 循环打印列
			c = getchar();
			nword = 0;
			ncmax = 0;
		}						// 清算,重新输入、计数及记单词数
	}
}