function Main(input){
    const N = input.trim();
    let answer = 0;
    const DFS = (N, num753) => {

        const contains7 = num753.includes('7');
        const contains5 = num753.includes('5');
        const contains3 = num753.includes('3');
        const contains = contains7 && contains5 && contains3;

        // 753数値が完成
        if(N.length == num753.length){
            if(contains && Number(num753) <= Number(N))  {
                answer++;
            }
            return; 
        }
        // 今の桁をチェック
        if(contains && Number(num753) <= Number(N)) {
            answer++;
        }
        // 3を入れるパターン
        DFS(N, num753 + '3');    
        // 5を入れるパターン
        DFS(N, num753 + '5');
        // 7を入れるパターン
        DFS(N, num753 + '7');
    }
    // 一桁目を作る
    DFS(N, '3');
    DFS(N, '7');
    DFS(N, '5');
    console.log(answer);
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
