nawk-how count the number of occurances of a pattern, when don't know the pattern

I've written a script to count the total size of SAN storage LUNs, and also display the LUN sizes.
From server to server, the LUNs sizes differ.
What I want to do is count the occurances as they occur and change.

These are the LUN sizes:
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
49.95
55.96
55.96
49.99
49.99
49.99
49.99
49.99
49.99
49.99
49.99
49.99

The above would produce something like this:
17x49.95, 2x55.96, 9x49.99

2nd example data file
27.96
27.96
27.96
27.96
27.96
27.96
27.96
13.95
2.95
2.95
142.99
142.99
142.99
142.99
142.99
142.99
142.99

produces
7x27.96, 1x13.95, 2x2.95, 7x142.99

I'm trying to find a way to do this with nawk.

nawk '{a[$0]++}END{for (i in a) print  a ,i}'

For a fancier output use:

nawk '{a[$0]++}END{for (i in a) printf "%-2d -> %.2f \n", a, i}' file

Output:

17 -> 49.95 
9  -> 49.99 
2  -> 55.96 

Thanks very much, that worked well. Very compact!