#include <stdio.h>
#include <string.h>
// 6을 9로 or 9를 6으로 바꿔서 생각하는 함수
int SNToNS(int curNum, char num,
int count, int *arr){
// 만약 현재 번호가 6 또는 9인데,
// 9또는 6에 인덱스 값이 count보다 작으면
// 9또는 6에 인덱스 값을 ++
if((curNum == num)&&(*(arr) < count)){
*(arr) += 1;
return 1;
}
return 0;
}
int main(void){
// 방번호 입력 받기
char roomNum[1000000];
scanf("%s", &roomNum);
int arr[10] ={0}, count = 1;
// 길이 찾기
int len = strlen(roomNum);
for(int i = 0; i < len; i++){
// 번호 정수값으로 변환
char num = roomNum[i]-48;
// 만약 현재 번호의 인덱스 값이 count보다 작으면
// 현재 번호 인덱스 값을 ++
if(arr[num] < count){
arr[num]++;
}
// 만약 현재 번호의 인덱스 값이 count보다 클 때
else {
// 6을 9로 하거나 9를 6으로 했을 경우
int is_sntosn = 0;
is_sntosn += SNToNS(6 , num, count, &arr[9]);
is_sntosn += SNToNS(9 , num, count, &arr[6]);
// 만약 하나라도 바꿨으면 continue;
if(is_sntosn){
continue;
}
// 현재 번호의 인덱스 값을 늘리고
// count도 늘리기
arr[num]++;
count++;
}
}
// 출력
printf("%d", count);
return 0;
}