#include<stdio.h>
#include<stdlib.h>
struct string{
	char ch;
	struct string * next;
};
void CreatList(struct string **headp);
void PrintString(struct string *head);
void SaveToArray(struct string *head);
int main()
{
	struct string *head=NULL;
	printf("Please input a string.\n");
	CreatList(&head);
	PrintString(head);
	SaveToArray(head);
	return 0;
}
void CreatList(struct string **headp)
{
	struct string * LocHead=NULL,*tail;
	LocHead=(struct string *)malloc(sizeof(struct string));
	scanf("%c",&LocHead->ch);
	tail=LocHead;
	while(tail->ch!='\n')
	{
		tail->next=(struct string *)malloc(sizeof(struct string));
		tail=tail->next;
		scanf("%c",&tail->ch);
	}
	tail->ch='\0';
	tail->next=NULL;
	*headp=LocHead;
}
void PrintString(struct string *head)
{
	while(head!=NULL)
	{
		printf("%c",head->ch);
		head=head->next;
	}
	printf("\n");
}
void SaveToArray(struct string *head)
{
	int total=1,i;
	struct string *temp=head;
	for(total=1;temp->next!=NULL;total++)
	{
		temp=temp->next;
	}
	temp=head;
	char str[total];
	for(i=0;i<total;i++)
	{
		str[i]=temp->ch;
		temp=temp->next;
	}
	puts(str);
}
