<p>Given a single positive integer <code>x</code>, we will write an expression of the form <code>x (op1) x (op2) x (op3) x ...</code> where each operator <code>op1</code>, <code>op2</code>, etc. is either addition, subtraction, multiplication, or division (<code>+</code>, <code>-</code>, <code>*</code>, or <code>/)</code>. For example, with <code>x = 3</code>, we might write <code>3 * 3 / 3 + 3 - 3</code> which is a value of <fontface="monospace">3</font>.</p>
<p>When writing such an expression, we adhere to the following conventions:</p>
<li>There are no parentheses placed anywhere.</li>
<li>We use the usual order of operations: multiplication and division happen before addition and subtraction.</li>
<li>It is not allowed to use the unary negation operator (<code>-</code>). For example, "<code>x - x</code>" is a valid expression as it only uses subtraction, but "<code>-x + x</code>" is not because it uses negation.</li>
</ul>
<p>We would like to write an expression with the least number of operators such that the expression equals the given <code>target</code>. Return the least number of operators used.</p>