How many dragon souls do I need to unlock all shouts?

There are 20 shouts in Skyrim, each with 3 levels of power. However, some of these shouts require dragon souls to unlock, and others are simply given to the player as gifts / quest rewards. (e.g., Clear Skies, Call Dragon, Call of Valor et al)

My question is:

What is the minimum number of dragons you must kill to be able to possess all 20 shouts at their full power?


From what I see here it looks like 18 are learned without requiring dragon souls, though I'm extrapolating a bit since I haven't reached the end of the main quest yet, myself.

Fuzzy math:

Animal Allegiance     3 Souls    
Aura Whisper          3 Souls    
Become Ethereal       3 Souls
Call Dragon           0 Souls* 
*I'm making the assumption that this works a bit like Unrelenting Force
Call of Valor         0 Souls
Clear Skies           0 Souls
Disarm                3 Souls
Dismay                3 Souls
Dragonrend            0 Souls
Elemental Fury        3 Souls
Fire Breath           2 Souls
Frost Breath          3 Souls
Ice Form              3 Souls
Kyne's Peace          3 Souls
Marked for Death      3 Souls
Slow Time             3 Souls
Storm Call            3 Souls
Throw Voice           3 Souls
Unrelenting Force     1 Soul
Whirlwind Sprint      2 Souls

So...3+3+3+0+0+0+3+3+0+3+2+3+3+3+3+3+3+3+1+2 = 44