Cooperative Program Giving