function throwScraps(uint totalscrapvalue) private {

		
		uint linelength = Underdogs.length - payoutIndex;

		
		
		uint skipstep = (linelength / 7) + 1;

		
		uint pieces = linelength / skipstep;

		
		uint startoffset = randInt(skipstep, 42) - 1;

		
		uint scrapbasesize = totalscrapvalue / (pieces + payoutCount);

		
		if (scrapbasesize < 500 finney) {
			scrapbasesize = 500 finney;
		}

		uint scrapsize;
		uint sptr = Underdogs.length - 1 - startoffset;

		uint scrapvalueleft = totalscrapvalue;

		while (pieces > 0 && scrapvalueleft > 0 && sptr >= payoutIndex) {
			
			
			scrapsize = scrapbasesize * (Underdogs[sptr].bailouts + 1);


			
			if (scrapsize < scrapvalueleft) {
				scrapvalueleft -= scrapsize;
			} else {
				scrapsize = scrapvalueleft;
				scrapvalueleft = 0;
			}

			
			Underdogs[sptr].addr.send(scrapsize);
			pieces--;
			sptr -= skipstep;
		}

		
		if (scrapvalueleft > 0) {
			bailoutBalance += scrapvalueleft;
		}
	}