#include <stdio.h>
#include <stdlib.h>
#include "add.h"
#include "mem.h"

int main(){
	struct node *n = cons_bigit(7890, cons_bigit(3456, 
cons_bigit(12,NULL)));

	print_num(n);
	printf(" should be outputting to 1234567890.\n");

	struct node *n3 = cons_bigit(1823, cons_bigit(9999, 
cons_bigit(9999, cons_bigit(9999, NULL))));

	struct node *n2 = cons_bigit(100, cons_bigit(1,NULL));
	struct node *n1 = cons_bigit(11, cons_bigit(1,NULL));
	struct node *temp;

	printf("The sum of ");
	print_num(n1);
	printf(" and ");
	print_num(n2);
	printf(" is: ");
	temp = add(n1,n2);
	print_num(temp);
	free_num(temp);
	printf("\n");

	printf("The sum of ");
	print_num(n);
	printf(" and  ");
	print_num(n3);
	printf(" is: ");
	temp = add(n, n3);
	print_num(temp);
	free_num(temp);
	printf("\n");

	free_num(n);
	free_num(n1);
	free_num(n2);
	free_num(n3);
//	PrintUnmarkedBlocks();
}