I have given a map which looks like this:

```
{:foo 121 :yo 85 :good 85 :nice 53 :better 35 :cheaper 26 :price 26 }

```

Well I want to do some mathematics on the value of the map but without changing the order of the map. 
For example if I have a total-count of 400 then I want the new map should look like:

```
{:foo 121/400 :yo 85/400 :good 85/400 :nice 53/400 :better 35/400 :cheaper 26/400 :price 26/400 }

```

I can do it with reduce but it is changing the order of the map. I think I have to use ref and alter to do this but any solution with ref I was working on did failed. 

How to solve this?