def
isValid(a1, a2, strr, flag):
v1, v2
=
0
,
0
if
(flag
=
=
0
):
v1
=
strr[
4
]
v2
=
strr[
3
]
else
:
v1
=
strr[
1
]
v2
=
strr[
0
]
if
(v1 !
=
a1
and
v1 !
=
'?'
):
return
False
if
(v2 !
=
a2
and
v2 !
=
'?'
):
return
False
return
True
def
inRange(hh, mm, L, R):
a
=
abs
(hh
-
mm)
if
(a < L
or
a > R):
return
False
return
True
def
displayTime(hh, mm):
if
(hh >
10
):
print
(hh, end
=
":"
)
elif
(hh <
10
):
print
(
"0"
, hh, end
=
":"
)
if
(mm >
10
):
print
(mm)
elif
(mm <
10
):
print
(
"0"
, mm)
def
maximumTimeWithDifferenceInRange(strr, L, R):
i, j
=
0
,
0
h1, h2, m1, m2
=
0
,
0
,
0
,
0
for
i
in
range
(
23
,
-
1
,
-
1
):
h1
=
i
%
10
h2
=
i
/
/
10
if
(
not
isValid(
chr
(h1),
chr
(h2), strr,
1
)):
continue
for
j
in
range
(
59
,
-
1
,
-
1
):
m1
=
j
%
10
m2
=
j
/
/
10
if
(
not
isValid(
chr
(m1),
chr
(m2),
strr,
0
)):
continue
if
(inRange(i, j, L, R)):
displayTime(i, j)
return
if
(inRange(i, j, L, R)):
displayTime(i, j)
else
:
print
(
-
1
)
timeValue
=
"??:??"
L
=
20
R
=
39
maximumTimeWithDifferenceInRange(timeValue, L, R)