Under construction

Still being built. Things may change

Related Languages

Time limit10sMemory limit512 MB

Summary
Given strings A and B and an integer k, find the longest pair of equal-length substrings, one from each string, that differ in at most k positions.
Level

Hard8 of 10

Topics
Binary search, Dynamic programming, String, Two pointers
Solved
No attempts yet

Problem

You are studying two ancient languages, aiming to prove that they are closely related. You suspect that the words for "push-relabel flow algorithm" in both languages stem from a single ancestor. If so, they contain similar cores, i.e. subwords that do not differ much from each other.

Given two words AA and BB, determine the maximum possible ss, for which there are connected subwords A′A' in AA and B′B' in BB such that A′A' and B′B' have length ss, and differ on at most kk positions.

Input

The first line of input contains the number of test cases zz (1≤z≤20001 \leq z \leq 2000). The descriptions of the test cases follow.

Every test case consists of three lines. The first line contains three numbers n,m,kn, m, k (1≤n,m≤40001 \le n, m \le 4000; 0≤k≤min⁡(m,n)0 \le k \le \min(m,n)). In the next two lines there are two strings AA and BB, of lengths nn and mm, respectively, each consisting of lowercase English letters.

The total length of all the words in the input does not exceed 200 000200\,000.

Output

For each test case output a single integer -- the maximum possible length of subwords that differ on at most kk positions.

Examples1

  1. Example 1

    Input
    1
    12 13 2
    hakunamatata
    hienakulameta
    
    Expected output
    9