#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char str[100];
char ch,b;
int i = 0,num=0,num1=0;
while((ch=getchar())!='#')
{
char a = str[i];
if(a == str[i++])
{
num += 1;
}
char b = str[i];
cout<<b;
if(b == str[i++])
{
num1 += 1;
}
if(num == num1)
{
cout<<"Yes";
}
else
cout<<"No";
}
cout<<num;
return 0;
}
/*
//循环链表的创建与遍历
typedef struct Node
{
int data;
struct Node *next;
}Node;
typedef struct Node* LinkList;
LinkList creatList(LinkList head,int n) //循环链表的建立
{
LinkList p = head;
for(int i = 1;i <= n;i++)
{
LinkList q = new Node;
p->next = q;
p = q;
}
p->next = head;
return head;
}
void initList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(;p!= head;p=p->next)
{
cout<<"请输入第"<<i++<<"个元素的值:";
cin>>p->data;
}
}
void printList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(;p != head;p = p->next)
{
cout<<"第"<<i++<<"个元素的值为:";
cout<<p->data<<endl;
}
}
int main()
{
LinkList head = new Node;
head = creatList(head,3);
initList(head);
printList(head);
}
*/
/*
typedef struct Node
{
int data;
struct Node *next;
}Node;
typedef struct Node* LinkList; //指针类型取别名
LinkList creatList(LinkList head, int n)
{
LinkList p = new Node;
head->next = p;
for(int i = 2; i <= n;i++)
{
LinkList q = new Node;
p ->next = q;
p = q;
}
p->next = NULL;
return head;
}
void initList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(;p!= NULL;p=p->next)
{
cout<<"请输入第"<<i++<<"个节点的值:" ;
cin>>p->data;
}
}
void printList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(; p!=NULL; p = p->next)
{
cout<<"第"<<i++<<"个节点的值为:";
cout<<p->data<<endl;
}
}
void deleteNode(LinkList head,int mink,int maxk)
{
LinkList p = head, q = NULL;
while(p ->next != NULL)
{
if(p->next->data >= mink && p->next->data <= maxk)
{
q = p->next;
p ->next = q->next;
delete q;
}
else
p = p->next;
}
}
LinkList functionList(LinkList head) //单链表逆置
{
LinkList p = head->next;
LinkList pre = NULL;
while( p != NULL)
{
LinkList q = p->next;
p->next = pre;
pre = p;
p = q;
}
head->next = pre;
return head;
}
int main()
{
int mink,maxk;
LinkList head = new Node;
head = creatList(head,5);
initList(head);
printList(head);
cout<<"请输入要删除的数据范围最小值:";
cin>>mink;
cout<<"请输入要删除的数据范围最大值:";
cin>>maxk;
//cout<<mink<<maxk<<endl;
//deleteNode(head,mink,maxk);
printList(head);
head = functionList(head);
printList(head);
}
*/
/*
Node *creatList1(LinkList head,int n) //尾插法 //需要返回头结点,所以用指针类型
{
LinkList p = new Node;
head->next = p;
for(int i = 2; i<=n;i++)
{
LinkList q = new Node;
p -> next = q;
p = q;
}
p -> next = NULL;
return head;
}
void initList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(;p!= NULL;p=p->next)
{
cout<<"请输入第"<<i++<<"个节点的值:" ;
cin>>p->data;
}
}
void printList(LinkList head)
{
LinkList p = head->next;
int i = 1;
for(;p!= NULL;p=p->next)
{
cout<<"第"<<i++<<"个节点的值为:";
cout<<p->data<<endl;
}
}
void deleteNode(LinkList head,int pos) //删除
{
LinkList p = head;
for(int i = 1;i<pos;i++)
{
p = p->next;
}
LinkList q = p->next;
p->next = q->next;
delete q;
}
void insertNode(LinkList head, int x,int pos)
{
LinkList p = head;
for(int i=1;i<pos;i++)
{
p = p->next;
}
LinkList q = new Node;
q->data = x;
q->next = p->next;
p->next = q;
}
*/
/*
Node *creatList(Node *head,int n)
{
Node *p = new Node;
head->next = p;
for(int i = 2; i <= n; i++)
{
Node *q = new Node;
p->next = q;
p = q;
}
return head;
}
*/
/*
int main()
{
//创建
LinkList head = new Node;
head = creatList1(head,5);
//初始化
initList(head);
printList(head);
// deleteNode(head,2);
insertNode(head,2,2);
printList(head);
}
/*
//进制转换
int main()
{
int num;
int n;
cout<<"请输入数据:"<<endl;
cin>>num;
cout<<"请输入你要转换的进制:"<<endl;
cin>>n;
int a[100];
int i = 0;
while(num != 0)
{
a[i++] = num%n;
num /= n;
}
cout<<"转化后为:";
for(int j=i-1; j>= 0; j--)
{
cout<<a[j];
}
}
*/
/*
int main()
{
int a[3];
for(int i=0;i<3;i++)
{
cout<<"请输入第:"<<i+1<<"个元素的值:"<<endl;
cin>>a[i];
}
int pos;
cout<<"请输入要查询的元素的值:"<<endl;
cin>>pos;
cout<<a[--pos]<<endl;
int pos1,temp;
cout<<"请输入你要修改的元素的下标和值:"<<endl;
cin>>pos1>>temp;
a[pos1] = temp;
for(int i=0;i<3;i++)
{
cout<<a[i];
}
//system("pause");
}
*/
/*
#include <iostream>
#include<cstdio>
#define MAXSIZE 20
using namespace std;
/*
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}SqList;
void unionL(List *La,List Lb)
{
int La_len,Lb_len,i;
ElemType e;
La_len = ListLength(*La);
Lb_len = ListLength(Lb);
for( i=1; i<=Lb_len; i++)
{
GetElem(Lb,i,&e);
if( !LocateElem(*La,e))
{
ListInsert(La, ++La_len, e);
}
}
}
struct Node
{
int a;
double b;
Node *next;
};
int main()
{
int a[100] = {1,2,3,4};
int c1,c2;
cout<<"enter the c1 and c2:";
c1 = getchar();
c2 = getchar();
cout<<"the answer:";
putchar(c1);
cout<<'\t';
putchar(c2);
cout<<endl;
cout<<"answer:";
cout<<c1<<' '<<c2<<endl;
char c = 72;
cout<<c;
return 0;
}
*/