{
	if( $0 != "." && $0 != ".." ) {
		if( length() > max_len ) max_len = length();
		name[count++] = $0
	}
}
END {
print "max is ", max_len;
	if( max_len < 8 ) {
		width = 8;
		frmt = "%-8s";
		maxper = 10;
	} else if( max_len < 16 ) {
		width = 16;
		frmt = "%-16s";
		maxper = 5;
	} else if( max_len < 24 ) {
		width = 24;
		frmt = "%-24s";
		maxper = 3;
	} else if( max_len < 40 ) {
		width = 40;
		frmt = "%-40s";
		maxper = 2;
	} else {
		width = 80;
		frmt = "%-80s";
		maxper = 10;
	}

	rows = int( ( NR - 1 ) /maxper + 1 );
	per = int( ((NR - 1) / rows) + 1 );
print "width = ", width, "frmt = ", frmt, "maxper = ", maxper, "NR = ", NR, " rows = ", rows; 

	for( i = 1; i <= NR; i++ ) {
		printf( frmt, name[i] );
		if( i % per == 0 ) printf( "\n" );
	}
	printf( "\n" );
}
