Problem:
Score : 100 points

Problem Statement

Iroha loves Haiku. Haiku is a short form of Japanese poetry. A Haiku consists of three phrases with 5, 7 and 5 syllables, in this order.

To create a Haiku, Iroha has come up with three different phrases. These phrases have A, B and C syllables, respectively. Determine whether she can construct a Haiku by using each of the phrases once, in some order.

Constraints

1≦A,B,C≦10

Input

The input is given from Standard Input in the following format:

A B C

Output

If it is possible to construct a Haiku by using each of the phrases once, print YES (case-sensitive). Otherwise, print NO.

Sample Input 1

5 5 7

Sample Output 1

YES

Using three phrases of length 5, 5 and 7, it is possible to construct a Haiku.

Sample Input 2

7 7 5

Sample Output 2

NO

Solution in JavaScript (node.js v5.12) (judge verdict: Runtime Error)

function main() {
  const input = require("fs").readFileSync("/dev/stdin", "utf-8").trim();
  const lines = input.split('\n');
  const totalNum = lines[0].split(' ')[0];
  const dislikeNum = lines[1].split(' ');
  const likeNum = [];
  for(let i = 0; i < 10; i++) {
    if(inArray(dislikeNum, i)) {
      likeNum.push(i + '');
    }
  }
  //let res = totalNum;
  //while(1) {
  //  let noMatch = false;
  //  for(let i = 0; i < res.length; i++) {
  //    if(dislikeNum.indexOf(res[i]) > -1) {
  //      res = parseInt(res) + 1;
  //      res = res + '';
  //      noMatch = true;
  //      break;
  //    }
  //  }
  //  if(!noMatch) {
  //    break;
  //  }
  //}
  //console.log(res);
  // const res = getResult(totalNum, likeNum);
  // if(res.flag) {
  //   console.log(likeNum[0] === '0' ? likeNum[1] + res.str : likeNum[0] + res.str);
  // } else {
  //   console.log(res.str);
  // }
}

function inArray(arr, data) {
  for( let i = 0; i < arr.length; i++ ) {
    if(arr[i] == data) {
      return true
    } else {
      return false
    }
  }
  return false;
}

// function getResult(sourceNum, likeNum) {
//   const item = sourceNum[0];
//   const resObj = sourceNum.length - 1 ? getResult(sourceNum.slice(1), likeNum) : {};
//   const resStr = resObj.str || '';
//   const flag = resObj.flag;
//   if(!flag) {
//     if(likeNum.indexOf(item) > -1) {
//       return {
//         str: item + resStr,
//         flag: false
//       };
//     } else {
//       const bigger = getBigger(likeNum, item);
//       if(bigger) {
//         let str = '';
//         for(let i = 0; i < resStr.length; i++) {
//           str += likeNum[0];
//         }
//         return {
//           str: bigger + str,
//           flag: false
//         };
//       } else {
//         let str = '';
//         for(let i = 0; i < resStr.length; i++) {
//           str += likeNum[0];
//         }
//         return {
//           str: likeNum[0] + str,
//           flag: true
//         };
//       }
//     }
//   } else {
//     const bigger = getBigger(likeNum, item);
//     if(bigger) {
//       let str = '';
//       for(let i = 0; i < resStr.length; i++) {
//         str += likeNum[0];
//       }
//       return {
//         str: bigger + str,
//         flag: false
//       };
//     } else {
//       let str = '';
//       for(let i = 0; i < resStr.length; i++) {
//         str += likeNum[0];
//       }
//       return {
//         str: likeNum[0] + str,
//         flag: true
//       };
//     }
//   }
// }

// function getBigger(arr, num) {
//   for(let i = 0; i < arr.length; i++) {
//     if(arr[i] > num) {
//       return arr[i] + ''
//     }
//   }
//   return null;
// }

main();