# Task
 Mr.Nam has `n` candies, he wants to put one candy in each cell of a table-box. The table-box has `r` rows and `c` columns.

 Each candy was labeled by its cell number. The cell numbers are in range from 1 to N and the direction begins from right to left and from bottom to top.

 Nam wants to know the position of a specific `candy` and which box is holding it.

 The result should be an array and contain exactly 3 elements. The first element is the `label` of the table; The second element is the `row` of the candy; The third element is the `column` of the candy.
 
 If there is no candy with the given number, return `[-1, -1, -1]`.

 Note: 
 
 When the current box is filled up, Nam buys another one. 
 
 The boxes are labeled from `1`.

 Rows and columns are `0`-based numbered from left to right and from top to bottom.
 
# Example

 For `n=6,r=2,c=2,candy=3`, the result should be `[1,0,1]`
 
 the candies will be allocated like this:
```
Box 1
+-----+-----+
|  4  | (3) | --> box 1,row 0, col 1
+-----+-----+
|  2  |  1  |
+-----+-----+
Box 2
+-----+-----+
|  x  |  x  |
+-----+-----+
|  6  | (5) | --> box 2,row 1, col 1
+-----+-----+```
 For `candy = 5(n,r,c same as above)`, the output should be `[2,1,1]`.
 
 For `candy = 7(n,r,c same as above)`, the output should be `[-1,-1,-1]`.
 
 For `n=8,r=4,c=2,candy=3`, the result should be `[1,2,1]` 
```
Box 1
+-----+-----+
|  8  |  7  |
+-----+-----+
|  6  |  5  |
+-----+-----+
|  4  | (3) |--> box 1,row 2, col 1
+-----+-----+
|  2  |  1  |
+-----+-----+
```

# Input/Output


 - `[input]` integer `n`

  The number of candies. 
  
  `0 < n <= 100`


 - `[input]` integer `r`

  The number of rows. 
  
  `0 < r <= 100`


 - `[input]` integer `c`

 The number of columns.

 `0 < c <= 100`


 - `[input]` integer `candy`

 The label of the candy Nam wants to get position of.
 
 `0 < c <= 120`

 - `[output]` an integer array

  Array of 3 elements: a label, a row and a column.

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

def _disabled_input(*args, **kwargs):
    raise RuntimeError("input() is disabled in callable mode")
builtins.input = _disabled_input

ns = {"__name__": "__judge__"}  # prevent if __name__ == "__main__" blocks
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = "from math import ceil\n\ndef get_candy_position(n, r, c, candy):\n    d = r * c\n    boxes_cnt, boxes = ceil(n / d), []\n    \n    lst = [[i * c + j + 1 for j in range(c - 1, -1, -1)] for i in range(r - 1, -1, -1)]\n    \n    for i in range(boxes_cnt):\n        boxes.append([i + 1, [[v + i * d if v + i * d <= n else 'x' for v in row] for row in lst]])\n    \n    bx = next((box for box in boxes if any(candy in b for b in box[1])), None)\n    \n    if not bx: return [-1, -1, -1]\n    \n    i = next(k for k, b in enumerate(bx[1]) if candy in b)\n    j = bx[1][i].index(candy)\n    \n    return [bx[0], i, j]"
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

_target = None
_fn_name = 'get_candy_position'
if _fn_name:
    if "Solution" in ns:
        try:
            _obj = ns["Solution"]()
            if hasattr(_obj, _fn_name):
                _target = getattr(_obj, _fn_name)
        except Exception:
            _target = None
    if _target is None and _fn_name in ns and callable(ns[_fn_name]):
        _target = ns[_fn_name]
# Fallback: if there's exactly one user-defined function, use it
if _target is None:
    _cands = [v for k, v in ns.items() if callable(v) and getattr(v, "__module__", "") in ("__judge__", "__main__")]
    _user_funcs = [c for c in _cands if getattr(c, "__name__", "").startswith("_") is False]
    if len(_user_funcs) == 1:
        _target = _user_funcs[0]
if _target is None:
    raise RuntimeError(f"Could not resolve callable '{_fn_name}'")

_raw = sys.stdin.read().strip()
if _raw:
    _parsed = json.loads(_raw)
    if isinstance(_parsed, dict):
        _kwargs = _parsed.get("kwargs", {})
        _args = _parsed.get("args", [])
    else:
        _args, _kwargs = _parsed, {}
else:
    _args, _kwargs = [], {}
if not isinstance(_args, (list, tuple)):
    _args = [_args]
_res = _target(*_args, **_kwargs)
try:
    sys.stdout.write(repr(_res) + "\n")
except Exception:
    pass

```

Measured memory_bytes: 8394