Dart Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n  int kthLargestValue(List<List<int>> matrix, int k) {\n    final n = matrix.length;\n    final m = matrix[0].length;\n    final List<List<int>> prefixSum = List.generate(n, (_) => List.filled(m, 0));\n    prefixSum[0][0] = matrix[0][0];\n    for (int i = 1; i < n; i++) {\n        prefixSum[i][0] = prefixSum[i - 1][0] ^ matrix[i][0];\n    }\n\n    for (int j = 1; j < m; j++) {\n        prefixSum[0][j] = prefixSum[0][j - 1] ^ matrix[0][j];\n    }\n\n    for (int i = 1; i < n; i++) {\n        for (int j = 1; j < m; j++) {\n            prefixSum[i][j] = prefixSum[i - 1][j - 1] ^ prefixSum[i - 1][j] ^ prefixSum[i][j - 1] ^ matrix[i][j];\n        }\n    }\n\n    final List<int> res = [];\n    for (int i = 0; i < n; i++) {\n        for (int j = 0; j < m; j++) {\n            res.add(prefixSum[i][j]);\n        }\n    }\n\n    res.sort();\n    return res[res.length - k];\n  }\n}\n```
['Array', 'Bit Manipulation', 'Matrix', 'Prefix Sum', 'Dart']