<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_shear_distance(a):
 """ Returns the distance a volume has moved during simple shear. Considers either Lees-Edwards boundary conditions or sheared cells. """

    cx, cy, cz = a.cell
    if 'shear_dx' in a.info:
        assert abs(cx[1]) < 1e-12, 'cx[1] = {0}'.format(cx[1])
        assert abs(cx[2]) < 1e-12, 'cx[2] = {0}'.format(cx[2])
        assert abs(cy[0]) < 1e-12, 'cx[0] = {0}'.format(cy[0])
        assert abs(cy[2]) < 1e-12, 'cy[2] = {0}'.format(cy[2])
        assert abs(cz[0]) < 1e-12, 'cz[0] = {0}'.format(cz[0])
        assert abs(cz[1]) < 1e-12, 'cz[1] = {0}'.format(cz[1])
        dx, dy, dz = a.info['shear_dx']
    else:
        assert abs(cx[1]) < 1e-12, 'cx[1] = {0}'.format(cx[1])
        assert abs(cx[2]) < 1e-12, 'cx[2] = {0}'.format(cx[2])
        assert abs(cy[0]) < 1e-12, 'cy[0] = {0}'.format(cy[0])
        assert abs(cy[2]) < 1e-12, 'cy[2] = {0}'.format(cy[2])
        dx, dy, sz = cz
    return dx, dy