Function doSociety (contributions:Integer ; withMoney:Boolean) : String;
var
    societyProduction,individualHappiness:Integer;
    resources: Extended;
    truth: String;
begin
          with Result do begin
                if withMoney = False then begin
                        if contributions > StrToInt (taken) then begin
                                societyProduction := individualHappiness + guilt(contributions);
                        end else begin
                               
societyProduction := individualHappiness + decision(contributions); 
                        end;
                        resources := Unlimited(soceityProduction);
                        truth := 'We don't really need money to make us produce things.'  ;
                end;

                if withMoney = True then begin
                        if contributions > StrToInt(taken) then begin
                                 societyProduction := individualHappiness + money(contributions);
                        end;
                        resources := Limited(soceityProduction);
                        truth := ' Moeny is never enough for what we want.' ;
                end;
        end;
end;
//Comment: I don't know how much courages and trusts will this kind of revolution need?