#include <stdlib.h>
#include <stdio.h>

/*
1 byte
    256 combinations
8 - 64 bits


1 - 8

2 - 16

3 - 24

4 - 32

5 - 40

6 - 48

7 - 56

8 - 64

*/


int main(int argc, char **argv){
	unsigned int num1 = 0;
	unsigned int num2 = 0;
	//int num3 = 0;
	//int num4 = 0;

	unsigned int vals[8];

	//while(num1 < 8){
	//}

	for(num1=0; num1<8; num1++){
		printf("SUMS %.0f\n", (float)num1*8);
		num2 = 0;
		//for(num2=0; num2<8; num2++){
		for(vals[0]=0; vals[0]<8; vals[0]++){
			for(vals[1]=0; vals[1]<8; vals[1]++){
				for(vals[2]=0; vals[2]<8; vals[2]++){
					for(vals[3]=0; vals[3]<8; vals[3]++){
						for(vals[4]=0; vals[4]<8; vals[4]++){
							for(vals[5]=0; vals[5]<8; vals[5]++){
								for(vals[6]=0; vals[6]<8; vals[6]++){
									for(vals[7]=0; vals[7]<8; vals[7]++){
										if(vals[0]+vals[1]+vals[2]+vals[3]+vals[4]+vals[5]+vals[6]+vals[7] == num1*8){
											num2++;
											printf("\t %u: %u %u %u %u %u %u %u %u \n", num2, vals[0], vals[1], vals[2], vals[3], vals[4], vals[5], vals[6], vals[7]);
										}
									}
								}
							}
						}
					}
				}
			}
		}
		//}
	}

	return 0;
}