#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char *characters;
int length;
} String;
String *createString(){
char *m;
int b;
int n = 0;
String
*theS
= malloc (sizeof(String
)); m = theS->characters;
while(((b
= getchar()) != '\n') && (b
!= EOF
)) { *(m+n) = b;
n++;
}
*(m+n) = '\0';
theS->characters = m;
theS
->length
= strlen(theS
->characters
); return theS;
}
int main(void) {
String *s = createString();
printf("%d: %s\n", s
->length
, s
->characters
);
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgY2hhciAqY2hhcmFjdGVyczsKICAgIGludCBsZW5ndGg7Cn0gU3RyaW5nOwoKClN0cmluZyAqY3JlYXRlU3RyaW5nKCl7CiAgICBjaGFyICptOwogICAgaW50IGI7CiAgICBpbnQgbiA9IDA7CiAgICBTdHJpbmcgKnRoZVMgPSBtYWxsb2MgKHNpemVvZihTdHJpbmcpKTsKICAgIHRoZVMtPmNoYXJhY3RlcnMgPSBtYWxsb2MoMSk7CiAgICBtID0gdGhlUy0+Y2hhcmFjdGVyczsKCiAgICB3aGlsZSgoKGIgPSBnZXRjaGFyKCkpICE9ICdcbicpICYmIChiICE9IEVPRikpIHsKICAgICAgICAqKG0rbikgPSBiOwogICAgICAgIG4rKzsKICAgICAgICBtID0gcmVhbGxvYyhtLCBuKzEpOwogICAgfQogICAgKihtK24pID0gJ1wwJzsKICAgIHRoZVMtPmNoYXJhY3RlcnMgPSBtOwogICAgdGhlUy0+bGVuZ3RoID0gc3RybGVuKHRoZVMtPmNoYXJhY3RlcnMpOwogICAgcmV0dXJuIHRoZVM7Cn0KCmludCBtYWluKHZvaWQpIHsKCVN0cmluZyAqcyA9IGNyZWF0ZVN0cmluZygpOwoJCglwcmludGYoIiVkOiAlc1xuIiwgcy0+bGVuZ3RoLCBzLT5jaGFyYWN0ZXJzKTsKCQoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0K