31, not too mathy but it works