fun main(args: Array<String>) {
  val k = readLine()!!.toInt()
  if (k < 10) {
    println(k)
    return
  }
  var a0 = mutableListOf("1", "2", "3", "4", "5", "6", "7", "8", "9")
  var s = 9
  while (true) {
    val a1 = mutableListOf<String>()
    for (v in a0) {
      if (v[v.length-1] != '0') {
        a1.add(v + (v[v.length-1]-1).toChar())
        s++
        if (s == k) {
          println(a1[a1.size-1])
          return
        }
      }
      a1.add(v + v[v.length-1])
      s++
      if (s == k) {
        println(a1[a1.size-1])
        return
      }
      if (v[v.length-1] != '9') {
        a1.add(v + (v[v.length-1]+1).toChar())
        s++
        if (s == k) {
          println(a1[a1.size-1])
          return
        }
      }
    }
    a0 = a1
  }
}