#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
void distCalc(double *a, double *b, double *c) {
}
 
void usage(void) {
	printf("Enter X1, X2 and X3 coordinates for Point A and B.\n"); 	printf("Example: pointdist 1 2 3 1 2 3\n"); }
 
void errorMessage(int a, int *b) {
	if (a == 0 && *b < 7) {
		printf("Too few arguments!\n"); 		usage();
	}
 
	if (a == 0 && *b > 7) {
		printf("Too many arguments!\n"); 		usage();
	}
 
	if (a > 3 && *b == 7) {
		printf("Invalid X%i coordinate for point B!\n", a 
- 3); 		usage();
	}
 
	if (a > 0 && a < 4 && *b == 7) {
		printf("Invalid X%i coordinate for point A!\n", a
); 		usage();
	}
}
 
int main(int argc, char *argv[]) {
	int i = 0;
	double dist = 0;
	double vectorA[3] = {0};
	double vectorB[3] = {0};
 
	errorMessage(&i, &argc);
 
	for (i = 0; i < 3; i++) {
		if (sscanf(argv
[i 
+ 1], "%lf", &vectorA
[i
]) != 1) { 			errorMessage(i + 1, &argc);
		}
 
		if (sscanf(argv
[i 
+ 4], "%lf", &vectorB
[i
]) != 1) { 			errorMessage(i + 4, &argc);
		}
	}
 
	distCalc(vectorA, vectorB, &dist);
 
 
	return 0;
}
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCnZvaWQgZGlzdENhbGMoZG91YmxlICphLCBkb3VibGUgKmIsIGRvdWJsZSAqYykgewoJKmMgPSBzcXJ0KHBvdyhiWzBdIC0gYVswXSwgMikgKwoJCSAgcG93KGJbMV0gLSBhWzFdLCAyKSArCgkJICBwb3coYlsyXSAtIGFbMl0sIDIpKTsKfQoKdm9pZCB1c2FnZSh2b2lkKSB7CglwcmludGYoIkVudGVyIFgxLCBYMiBhbmQgWDMgY29vcmRpbmF0ZXMgZm9yIFBvaW50IEEgYW5kIEIuXG4iKTsKCXByaW50ZigiRXhhbXBsZTogcG9pbnRkaXN0IDEgMiAzIDEgMiAzXG4iKTsKCWV4aXQoMSk7Cn0KCnZvaWQgZXJyb3JNZXNzYWdlKGludCBhLCBpbnQgKmIpIHsKCWlmIChhID09IDAgJiYgKmIgPCA3KSB7CgkJcHJpbnRmKCJUb28gZmV3IGFyZ3VtZW50cyFcbiIpOwoJCXVzYWdlKCk7Cgl9CgoJaWYgKGEgPT0gMCAmJiAqYiA+IDcpIHsKCQlwcmludGYoIlRvbyBtYW55IGFyZ3VtZW50cyFcbiIpOwoJCXVzYWdlKCk7Cgl9CgoJaWYgKGEgPiAzICYmICpiID09IDcpIHsKCQlwcmludGYoIkludmFsaWQgWCVpIGNvb3JkaW5hdGUgZm9yIHBvaW50IEIhXG4iLCBhIC0gMyk7CgkJdXNhZ2UoKTsKCX0KCglpZiAoYSA+IDAgJiYgYSA8IDQgJiYgKmIgPT0gNykgewoJCXByaW50ZigiSW52YWxpZCBYJWkgY29vcmRpbmF0ZSBmb3IgcG9pbnQgQSFcbiIsIGEpOwoJCXVzYWdlKCk7Cgl9Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKCWludCBpID0gMDsKCWRvdWJsZSBkaXN0ID0gMDsKCWRvdWJsZSB2ZWN0b3JBWzNdID0gezB9OwoJZG91YmxlIHZlY3RvckJbM10gPSB7MH07CgoJZXJyb3JNZXNzYWdlKCZpLCAmYXJnYyk7CgoJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewoJCWlmIChzc2NhbmYoYXJndltpICsgMV0sICIlbGYiLCAmdmVjdG9yQVtpXSkgIT0gMSkgewoJCQllcnJvck1lc3NhZ2UoaSArIDEsICZhcmdjKTsKCQl9CgoJCWlmIChzc2NhbmYoYXJndltpICsgNF0sICIlbGYiLCAmdmVjdG9yQltpXSkgIT0gMSkgewoJCQllcnJvck1lc3NhZ2UoaSArIDQsICZhcmdjKTsKCQl9Cgl9CgkKCWRpc3RDYWxjKHZlY3RvckEsIHZlY3RvckIsICZkaXN0KTsKCglwcmludGYoIiUuMmxmXG4iLCBkaXN0KTsKCglyZXR1cm4gMDsKfQo=