// RUN: %swift-format %s >%t.response
// RUN: diff -u %s.response %t.response
// RUN: %swift-format -indent-width 2 %s >%t.response
// RUN: diff -u %s.indent2.response %t.response
// RUN: %swift-format -use-tabs %s >%t.response
// RUN: diff -u %s.tabs.response %t.response
// RUN: %swift-format -line-range 24:29 %s >%t.response
// RUN: diff -u %s.lines.response %t.response
// RUN: %swift-format -indent-switch-case %s >%t.response
// RUN: diff -u %s.indentswitch.response %t.response

import Foundation

func collatz(n: Int, m: String?) {
  switch m {
  case .some(let s):
    print(s)
  case .none:
    print("nothing")
  default:
    print("not possible")
    break
  }
  var r: Int
  if n%2 == 0 {
    r = n/2
  } else {
    r = 3*n+1
  }
  print("Number: \(r)")
  if r == 1 {
    print("Reached one!")
  } else {
    collatz(r)
  }
}
