#include<stdio.h>
#include<stdlib.h>
struct node
{
	int data;
	struct node *next;
};
struct node *start=NULL;
void insert_at_begenning(int x)
{
	struct node *temp;
	temp=(struct node *)malloc(sizeof(struct node));
	printf("\nInserting at begening %d:",x);
	temp->data=x;
	temp->next=start;
	start=temp;
}
void delete_at_begenning()
{
	struct node *temp;
	if(start==NULL)
		printf("\nAlready Empty");
	else
	{
		printf("\nDeleting from begening:");
		temp=start;
		start=temp->next;
		free(temp);
	}
}
void print()
{
	struct node *temp;
	temp=start;
	printf("\n");
	if(temp==NULL)
		printf("\nList is Empty");
	while(temp!=NULL)
	{
		printf("%d->",temp->data);
		temp=temp->next;
	}	
}
void main()
{
	insert_at_begenning(5);
	print();
	insert_at_begenning(10);
	print();
	insert_at_begenning(15);
	print();
	delete_at_begenning();
	print();
	delete_at_begenning();
	print();
	delete_at_begenning();
	print();
}