#include<stdio.h>

int main(void){
  int num,cnt,digit = 0,flag = 0;
  int a[10] = {0,0,0,0,0,0,0,0,0,0};
  scanf("%d",&num);

  /* 桁数を計算 */
  while(num!=0){
    number = number / 10;
    ++digit;
  }
  switch(digit){
    case 3:
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10);
      for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
      }
    case 4:
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10);
            for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    case 5:  
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10); num /= 10;
      a[4] = (value % 10);
                    for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    case 6:
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10); num /= 10;
      a[4] = (value % 10); num /= 10;
      a[5] = (value % 10);
                            for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    case 7:
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10); num /= 10;
      a[4] = (value % 10); num /= 10;
      a[5] = (value % 10); num /= 10;
      a[6] = (value % 10);
                            for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    case 8:
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10); num /= 10;
      a[4] = (value % 10); num /= 10;
      a[5] = (value % 10); num /= 10;
      a[6] = (value % 10); num /= 10;
      a[7] = (value % 10);
                                    for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    case 9:  
      a[0] = (value % 10); num /= 10;
      a[1] = (value % 10); num /= 10;
      a[2] = (value % 10); num /= 10;
      a[3] = (value % 10); num /= 10;
      a[4] = (value % 10); num /= 10;
      a[5] = (value % 10); num /= 10;
      a[6] = (value % 10); num /= 10;
      a[7] = (value % 10); num /= 10;
      a[8] = (value % 10);
                                            for(i = 0;i < digit;i++){
      	if(a[i] == 3 || a[i] == 5 || a[i] == 7){
        	flag++;
          if(flag == digit - 1){
          	cnt++;
          }
        }
    default:
      cnt = 0;
  }
  printf("%d",cnt);
  return 0;
}